requests--请求头设置

简介: requests--请求头设置

前戏


在我们进行自动化测试的时候,很多网站都会都请求头做个校验,比如验证 User-Agent,看是不是浏览器发送的请求,如果我们不加请求头,使用脚本访问,默认User-Agent是python,这样服务器如果进行了校验,就会拒绝我们的请求。所以,在做自动化的时候,加上必要的请求头是一个好习惯。


请求头设置


使用requests库添加请求头很简单,只需要传一个headers参数就可以了

import requests
base_url = 'http://httpbin.org'
form_data = {"user": "zou", "pwd": '31500'}
form_header = {"User-Agent": "Chrome/68.0.3440.106"}  # 设置请求头,字典格式
r = requests.post(base_url + '/post', data=form_data, headers=form_header)
print(r.url)  # 打印URL
print(r.status_code)
print(r.text)

结果:

http://httpbin.org/post
200
{
  "args": {}, 
  "data": "", 
  "files": {}, 
  "form": {
    "pwd": "31500", 
    "user": "zou"
  }, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Content-Length": "18", 
    "Content-Type": "application/x-www-form-urlencoded", 
    "Host": "httpbin.org", 
    "User-Agent": "Chrome/68.0.3440.106"
  }, 
  "json": null, 
  "origin": "112.10.81.210, 112.10.81.210", 
  "url": "https://httpbin.org/post"
}


查看请求头


前面我们已经设置好了请求头,我们可以使用r.request.headers来查看请求头

import requests
base_url = 'http://httpbin.org'
form_data = {"user": "zou", "pwd": '31500'}
form_header = {"User-Agent": "Chrome/68.0.3440.106"}
r = requests.post(base_url + '/post', data=form_data, headers=form_header)
print(r.request.headers)  # 查看请求头

结果:

{'User-Agent': 'Chrome/68.0.3440.106', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Length': '18', 'Content-Type': 'application/x-www-form-urlencoded'}


响应时间


当我们测接口的时候,我们肯定是想知道接口的响应时间,requests 提供了获取响应时间的方法

res.elapsed

获取到的数据格式如下

0:00:00.030363   # 单位为微秒

可以直接转为毫秒

res.elapsed.microseconds/1000

相关文章
|
JSON 安全 前端开发
浅析CORS跨域漏洞与JSONP劫持
浅析CORS跨域漏洞与JSONP劫持
696 3
|
机器学习/深度学习 数据采集 人工智能
基于Qwen 2.5的世界科学智能大赛冠军方案
本方案基于通义千问模型,采用多阶段的Easy-to-Hard数据合成方法,模拟人类学习的由简单到困难的思路,逐阶段构造多样化的训练数据。数据生成阶段,训练数据的标签,引入了“Chain-of-Thought”思维链模式,生成多样化的推理路径,逐步对齐推理Scaling Law。训练阶段,采用了LoRA对通义千问32B模型在合成数据集上进行参数高效微调。推理阶段,使用了4bit低精度量化,并结合vLLM框架进行推理加速,最终达到准确性、效率和显存利用率的统一。
828 2
基于Qwen 2.5的世界科学智能大赛冠军方案
扩展uview表单组件标题文本支持两端对齐
扩展uview表单组件标题文本支持两端对齐
472 2
|
存储
【头歌·计组·自己动手画CPU】五、单总线CPU设计(理论版) 【计算机硬件系统设计】
【头歌·计组·自己动手画CPU】五、单总线CPU设计(理论版) 【计算机硬件系统设计】
2956 2
|
Linux Shell KVM
Kali系统基于qemu虚拟化运行img镜像文件
QEMU是一个由Fabrice Bellard创建的开源虚拟化器,能在多种平台上运行,如x86、ARM、PowerPC。它支持硬件仿真和虚拟化,允许在宿主系统上运行不同架构和OS,如Windows、Linux。QEMU特点包括硬件仿真、虚拟化支持(与KVM配合)、磁盘和网络仿真、快照及回滚功能。此外,文档还展示了在Kali Linux中安装和配置QEMU的步骤,包括下载、内存设置、源更新、软件安装、创建桥接脚本以及启动和管理虚拟机。
1030 1
Kali系统基于qemu虚拟化运行img镜像文件
|
SQL 存储 数据库
如何在SQL中添加数据:一个初学者指南
如何在SQL中添加数据:一个初学者指南
341 3
|
监控 网络安全 PHP
对象存储oss使用问题之操作报错:Unable to execute HTTP request: SocketException如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
6632 0
|
存储 弹性计算 数据库
阿里云服务器购买教程
作为一家全球领先的云计算服务提供商,阿里云提供了多种云产品和解决方案,包括云服务器、对象服务OSS、数据库、存储、SSL、域名和CDN 等。阿里云服务器是一种灵活可扩展的云计算服务,适用于各种规模和类型的企业和个人用户。阿里云以其出色的性能和极高的可靠性而备受青睐,除此之外阿里云优惠力度也比较大。在这篇文章中,我们将向您展示如何快速购买阿里云服务器。
876 0
阿里云服务器购买教程
|
前端开发 JavaScript 算法
JavaScript制作简版计算器,提供加减乘除功能
JavaScript制作简版计算器,提供加减乘除功能
848 0
|
Web App开发 网络安全 iOS开发
2021Kali系列 -- 目录扫描(nikto)
2021Kali系列 -- 目录扫描(nikto)
1153 0