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

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

相关推荐
程序员小远1 天前
完整的项目测试方案流程
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
一三检测冯野180212918131 天前
ASTM D642标准护航医疗生物包装 专业压力测试筑牢运输防线
压力测试·模拟运输测试·包装运输测试·包装振动测试·环境试验·包装跌落测试
汽车仪器仪表相关领域2 天前
全自动化精准检测,赋能高效年检——NHD-6108全自动远、近光检测仪项目实战分享
大数据·人工智能·功能测试·算法·安全·自动化·压力测试
0和1的舞者2 天前
GUI自动化测试详解(三):测试框架pytest完全指南
自动化测试·python·测试开发·自动化·pytest·测试
帅次2 天前
从开发到部署:软件实现、测试与交付全流程核心技术解析
功能测试·单元测试·测试用例·集成测试·压力测试·模块测试·安全性测试
_OP_CHEN2 天前
【测试理论与实践】(九)Selenium 自动化测试常用函数全攻略:从元素定位到文件上传,覆盖 99% 实战场景
自动化测试·python·测试开发·selenium·测试工具·测试工程师·自动化工具
悟能不能悟3 天前
怎么使用postman批量的给api做测试
测试工具·lua·postman
测试19984 天前
Web自动化测试入门
自动化测试·软件测试·python·功能测试·selenium·测试工具·测试用例
测试者家园4 天前
AI 智能体如何构建模拟真实用户行为的复杂负载场景?
人工智能·压力测试·性能测试·智能体·用户行为·智能化测试·软件开发和测试