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

在Django测试中设置HTTP_REFERER标头

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

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

例如:

代码语言:python
代码运行次数:0
复制
from django.test import Client

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

例如:

代码语言:python
代码运行次数:0
复制
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是用来发送请求的,在django中request是用来获取请求参数的。...(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.7K40
  • 【愚公系列】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为字典类型。

    1K60

    使用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.6K40

    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

    45550

    如何仅用 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.7K10

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

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

    20520

    【第19期】HTTP请求头referer

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

    3.6K20

    HTTP请求头referer

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

    3.4K30

    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.2K20

    Django请求和响应对象

    Django请求和响应对象 Django 使用请求和响应对象在系统中传递状态。 当一个页面被请求时,Django 会创建一个 HttpRequest 对象,这个对象包含了请求的元数据。...请求中的任何 HTTP 头都会被转换为 META 键,方法是将所有字符转换为大写字母,用下划线代替任何连字符,并在名称前加上 HTTP_` 前缀。...例如,请求头里的X-CSRFToken在META中变为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配置内容请参考官方文档:配置 |

    6.1K32

    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

    【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”请求标头字段值。

    72820

    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打包到一个单一的缓存文件中,以减少页面对服务器的请求数,加快页面的加载速度。

    2.1K20

    13个小技巧用来提高WordPress程序网站的访问速度

    如今我们做网站大部分直接使用开源CMS程序就可以实现,且在众多开源程序中WordPress应该是被应用最多的,没有之一。前几天也有看到新闻,WP程序在众多优秀网站中占据超过三分之一之多。...因为有些网站或者其他渠道在直接盗用我们网站的资源文件,比如图片。我们需要设置防盗链。有些WEB系统中是可以自己自动设置的,但是有些是需要我们手工设置的。...比如APACHE服务器需要设置.htaccess中。 RewriteEngine on RewriteCond %{HTTP_REFERER} !...9、添加静态资源过期标头 Expires标头是一种在将来指定缓存时间的方法用来将客户端不必要重新获取静态资源内容,比如CSS和JS、图片等内容。我们需要设置在代码中。...有些是可以设置成在本地的图片,有些是我们可以用第三方加速资源地址的。

    1.2K40
    领券