首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Django测试中设置HTTP_REFERER标头

在Django测试中设置HTTP_REFERER标头,可以通过以下方法实现:

  1. 在测试用例中,使用Client对象的getpost方法时,传递一个HTTP_REFERER参数,该参数值为引用页面的URL。

例如:

代码语言:python
复制
from django.test import Client

client = Client()
response = client.get('/some-url/', HTTP_REFERER='/previous-url/')
  1. 在测试用例中,使用RequestFactory对象创建一个请求对象,并将HTTP_REFERER标头添加到请求对象的META属性中。

例如:

代码语言:python
复制
from django.test import RequestFactory

factory = RequestFactory()
request = factory.get('/some-url/', HTTP_REFERER='/previous-url/')

在这两种方法中,HTTP_REFERER标头都被设置为/previous-url/,这将在Django视图中可用,可以通过request.META.get('HTTP_REFERER')获取该标头的值。

需要注意的是,在使用Client对象时,HTTP_REFERER标头只在发送请求时生效,而在接收响应时不会自动将该标头添加到响应中。如果需要在响应中包含该标头,可以在视图中手动添加。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django 获取请求参数

引   我们使用python做接口测试的时候,通常使用的是requests库。而大家都知道还有一个request东西,很多人对requests与request两个东西傻傻分不清。...Django 获取请求参数原理   上面我简单介绍了requests库与request方法的区别,而在django,是如何获取请求参数呢?...请记住一点:requests是用来发送请求的,djangorequest是用来获取请求参数的。...(1)未命名参数(位置参数) # 项目下的urls.py下增加设置: url(r'^user/(\d+)/(\d+)$',views.index) # user.views的index视图中: def...id=1&pid=99的查询字符串的值 # 项目下的urls.py下增加设置: url(r'^user/$',views.index) # user.views的index视图中: def index

2.6K40

【愚公系列】2022年01月 Python教学课程 46-Django框架之HttpRequest

文章目录 一、HttpRequest对象 1.URL路径参数 2.位置参数 3.关键字参数 二、Django的QueryDict对象 1.查询字符串Query String 2.请求体 3.表单类型...请求体(body)中发送的数据,比如表单数据、json、xml; http报文的(header)。...,一个正则表达式只能使用一种参数方式 分别使用以上两种获取URL值的方式提取出18 188 http://127.0.0.1:8000/18/188/ 2.位置参数 应用urls.py url(...Django默认开启了CSRF防护,会对上述请求方式进行CSRF防护验证,测试时可以关闭CSRF防护机制,方法为settings.py文件中注释掉CSRF中间件,如: 3.表单类型 Form Data...可以通过request.META属性获取请求headers的数据,request.META为字典类型。

99860

使用AJAX获取Django后端数据

根据Django项目的URLconf和视图的配置方式,URL可能包含关键字参数或查询字符串,我们希望视图中使用该参数来选择请求的数据。 Headers 设置AJAX请求参数。...我们希望数据以JSON形式从视图返回,因此我们将Accept参数设置为application/json。视图中,我们可能要确保该请求是AJAX请求。...通过将设置为“XMLHttpRequest”的“X-Requested-With”包括在内,该视图将能够检查请求是否为AJAX。 get不会直接返回数据。...Headers “ Accept”和“ X-Requested-With”与GET请求的相同,但是现在必须包括一个附加的“ X-CSRFToken”。...但是,如果我们没有正确设置视图,则可以AJAX请求之外访问数据,并且不会像我们期望的那样将其呈现给用户。

7.5K40

nignx.conf配置说明及demo

当有比较多502信息时可以调成error或其他等级分析日志error_log /home/wwwlogs/nginx_error.log crit;#将 PID 输出到 /xxx/nginx.pid 文件;...#同时连接的数量受限于系统上可用的文件描述符的数量 可用 ulimit -n 查看(比如我的2C4G测试机返回 1048576)#如果NGINX尝试打开比可用文件描述符更多的套接字,会发现error.log...blog.csdn.net/weixin_60766221/article/details/127462231 worker_connections 51200;#让NGINX worker能够获得新连接的通知时尽可能多的接受连接...server_names_hash_max_size 256;## 服务器名称哈希表存储bucket大小 server_names_hash_bucket_size 128;## 设置缓冲区以读取客户端请求...client_header_buffer_size 32k;## 设置缓冲区以读取客户端请求最大值number和size large_client_header_buffers

39950

如何仅用 Django 实现反向代理?

2、配置 Django 的配置文件 settings.py 的 INSTALLED_APPS ,添加 'revproxy'。...3、如果用户 Django 通过身份验证,并且 add_remote_user 属性设置为 True,则 HTTP REMOTE_USER 将设置为request.user.username。...True,则 HTTP X-Forwarded-For 和 X-Forwarded-Proto 将分别设置为请求者的 IP 地址和协议(http 或 https)。...6、收到来自上游的响应后,视图将对其进行处理以确保正确设置所有 headers。一些 headers 像 Location 这样的被视为特殊情况。...http 的方式共享给他人下载使用,使用 django-revproxy 这个轮子,可以让这个功能集成 Django 的某一个路由中,开发者服务器部署,大家用起来是着实方便。

1.5K10

HTTP请求referer

测试时发现在谷歌Chrome浏览器,可以正确获取到网址来源,然后用火狐Firefox浏览器,却无法正确获取到网址来源。...从上面的论述我们可以得到如下几点结论: http_referer由浏览器生成,并不是所有浏览器都会设置该值。 http_referer可以伪造,并不可信。...[Stackoverflow] 从上图可以得出两个结论: HTTP_REFERER这个变量真是不可信 Firefox浏览器允许用户修改这个字段 那Firefox浏览器怎么修改这个字段呢?...flash 的链接。 浏览器未加设置或被用户修改。...而HTTP_REFERER这个变量其实也是HTTP协议相关知识。然后又因为不同的浏览器客户端对请求处理规则不一样,所以造成了这个问题。 也因为这个问题,补充了一个知识点,就是图片防盗链的基本原理。

3.3K30

接口测试平台代码实现29:真正的三大核心模块概述

只有三个功能 可以让这个django项目叫做接口测试平台: 接口调试 ------对postman 自动化执行/监控 ---------对jmeter或其他基础接口自动化项目 自动录入/自动生成用例...可能随着接受质量进行小幅变更) 接口调试: 接口列表的增删改查 接口的调试弹层界面 接口调试界面对应的接口各个属性的输入和显示 接口调试界面真正发送请求 各种请求体编码格式的底层请求技术 公共变量-请求header...公共变量-域名host 登陆态接口设置弹层 接口调试功能添加自动登陆态 接口的复制/备注 diy加密/解密算法功能开发 2.自动化监控/执行 测试用例列表的增删改查 测试用例具体步骤开发 测试用例步骤列表的增删改查...具体步骤的执行顺序设置 具体步骤的请求设置 具体步骤的重试次数设置 具体步骤的实际发出连续请求 具体步骤提取返回值 具体步骤断言返回值 具体步骤mock返回值 在线测试报告生成 word文档标准报告生成...监控模块的核心技术开发 监控技术融合进用例执行业务 监控的分级报警措施 监控的历史报告功能开发 3.自动录入/自动生成用例 解析接口文档技术 在线抓包技术 在线抓包模仿charles/fiddler

18420

【第19期】HTTP请求referer

测试时发现在谷歌Chrome浏览器,可以正确获取到网址来源,然后用火狐Firefox浏览器,却无法正确获取到网址来源。...从上面的论述我们可以得到如下几点结论: http_referer由浏览器生成,并不是所有浏览器都会设置该值。 http_referer可以伪造,并不可信。...Stackoverflow 从上图可以得出两个结论: HTTP_REFERER这个变量真是不可信 Firefox浏览器允许用户修改这个字段 那Firefox浏览器怎么修改这个字段呢? ?...flash 的链接。 浏览器未加设置或被用户修改。...而HTTP_REFERER这个变量其实也是HTTP协议相关知识。然后又因为不同的浏览器客户端对请求处理规则不一样,所以造成了这个问题。 也因为这个问题,补充了一个知识点,就是图片防盗链的基本原理。

3.5K20

Django框架学习(一)

,编写单元测试 views.py 文件用于编写web应用视图 3.2helloworld程序创建 1、定义视图函数的时候,必须接收request(作为形参接收请求对象) Flask框架的视图函数可以直接返回字符串...Django中使用方法: 1、子应用地址配置时定义一个name参数,指明路由的名字 2、总的地址配置里面进行包含的时候,定义一个namespace,一般名字和子应用的名字一样(注意写在include...url地址?...jsonify Django:JsonResponse() Django的JsonResponse()其实先将字典转换成json字符串,然后将响应Content-Type设置为...' 4、将session信息存储到redis: 1、安装扩展包: pip install django-redis 2、配置: settings.py文件做如下设置 # 设置Django框架的存储位置

2.1K20

Django请求和响应对象

Django请求和响应对象 Django 使用请求和响应对象系统传递状态。 当一个页面被请求时,Django 会创建一个 HttpRequest 对象,这个对象包含了请求的元数据。...请求的任何 HTTP 都会被转换为 META 键,方法是将所有字符转换为大写字母,用下划线代替任何连字符,并在名称前加上 HTTP_` 前缀。...例如,请求头里的X-CSRFTokenMETA变为HTTP_X_CSRFTOKEN. 中间件设置的属性 Django 的 contrib 应用包含的一些中间件会在请求设置属性。...QueryDict对象 一个 HttpRequest 对象, GET 和 POST 属性是 django.http.QueryDict 的实例,这是一个类似字典的类,用来处理同一个键的多个值。...它继承了它的超类的大部分行为,但有一些不同: 其默认的 Content-Type 设置为 application/json。 第一个参数 data 应该是 dict 实例。

1.5K20

Django跨域】一篇文章彻底解决Django跨域问题!

我们的django框架中就是利用CORS来解决跨域请求的问题。...应用程序,用于处理跨域资源共享 (CORS) 所需的服务器 (github.com) pip install django-cors-headers 2.修改设置 修改Django项目文件夹下的...', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] # setting.py 末尾添加以下设置 CORS_ALLOW_CREDENTIALS...True) # 需要前端与后端部署统一服务器下才可进行跨域cookie设置 ​ # 总结:需要设置 samesite = none、secure = True(代表安全环境 需要 localhost...配置的介绍 Django版本高于2.1:直接设置即可 如果DJango版本低于2.1:需要下载 django-cookie-samesite 再设置 其他详细Cookie配置内容请参考官方文档:配置 |

4.2K31

【Nginx32】Nginx学习:随机索引、真实IP处理与来源处理模块

PROXY 协议必须事先通过 listen 指令设置 proxy_protocol 参数来启用。...就是根据哪个请求参数来获取, Nginx 通过指定的获取到了之后,会直接修改 REMOTE_ADDR 的信息。 real_ip_recursive 递归搜索真实 IP 。...如果启用递归搜索,则与其中一个受信任地址匹配的原始客户端地址将替换为请求字段中发送的最后一个非受信任地址。 变量 这个模块包含两个变量。...Nginx 处理这个的就是 ngx_http_referer_module 模块,它用于阻止对“Referer”字段具有无效值的请求的访问。...valid_referers 指定将导致嵌入的 $invalid_referer 变量设置为空字符串的“Referer”请求字段值。

53320

Restful接口开发与测试Django安装

并于2005年7月BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。...'rest_framework', 'api', ] rest_framework权限配置 默认的权限策略可以设置全局范围内,通过DEFAULT_PERMISSION_CLASSES设置。...Django REST framework,ViewSets用于定义视图的展现形式,例如返回哪些内容,需要做哪些权限处理。...UserSerializer和GroupSerializer定义要返回的字段。 URL路由配置 打开.../django_rest/urls.py文件,添加api的路由配置。...Tips: Vary: Accept可告诉代理服务器缓存两种版本的资源:压缩和非压缩,这有助于避免一些公共代理不能正确地检测Content-Encoding的问题。 ?

1.6K10

15款Django开发常用软件包 原

Django REST 框架 构建REST API的优秀框架,可管理内容协商、序列化、分页等,开发者可以浏览器浏览构建的API。  ...Django stored messages 可以很好地集成Django的消息框架django.contrib.messages)并让用户决定会话过程存储在数据库的消息。  ...8. django-cors-headers 一款设置CORS(Cross-Origin Resource Sharing)的应用,基于XmlHttpRequest,对管理Django应用的跨域请求非常有帮助...pip install django-cors-headers 三、调试 9. Debug toolbar 可在设置面板显示当前请求/响应的各种调试信息。...Django Compressor 可将页面链接的以及直接编写的JavaScript和CSS打包到一个单一的缓存文件,以减少页面对服务器的请求数,加快页面的加载速度。

2K20
领券