使用Python的requests库作接口测试——请求对象与响应对象
任何时候调用requests.*()操作接口时,我们都在做两件事情:
1、构建一个Request对象,该对象被发送到服务器去请求或查询一些资源;
2、一旦requests得到一个从服务器返回的响应,就有产生一个Response对象,该对象包含从服务器返回的所有信息,也包含你原来创建的Request对象。
举个栗子:
从Wikipedia的服务器得到一些信息:
- >>> r = requests.get('http://en.wikipedia.org/wiki/Monty_Python')
如果想访问服务器返回给我们的响应头部信息,可以这样做:
- >>> r.headers
结果是:
{'content-length': '68770', 'x-varnish': '1501359345 1500157800, 2078355484, 432
596611', 'x-analytics': 'page_id=18942;ns=0;https=1;WMF-Last-Access=31-Aug-2015'
, 'content-language': 'en', 'x-content-type-options': 'nosniff', 'x-powered-by':
'HHVM/3.6.5', 'x-cache': 'cp1053 hit (2), cp4016 miss (0), cp4010 frontend miss
(0)', 'accept-ranges': 'bytes', 'content-encoding': 'gzip', 'vary': 'Accept-Enc
oding,Cookie', 'server': 'nginx/1.9.3', 'last-modified': 'Mon, 31 Aug 2015 05:31
:38 GMT', 'connection': 'keep-alive', 'via': '1.1 varnish, 1.1 varnish, 1.1 varn
ish', 'strict-transport-security': 'max-age=31536000; includeSubDomains; preload
', 'x-ua-compatible': 'IE=Edge', 'cache-control': 'private, s-maxage=0, max-age=
0, must-revalidate', 'date': 'Mon, 31 Aug 2015 05:44:17 GMT', 'content-type': 't
ext/html; charset=UTF-8', 'age': '698'}
如果想要得到发送到服务器的请求头部,可以这样:
- >>> r.request.headers
结果是这样:
{'Connection': 'keep-alive', 'Cookie': 'GeoIP=CN:22:Beijing:39.9289:116.3883:v4;
WMF-Last-Access=31-Aug-2015', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/
*', 'User-Agent': 'python-requests/2.6.0 CPython/2.7.10 Windows/7'}
使用Python的requests库作接口测试——请求对象与响应对象的更多相关文章
- 使用Python的requests库作接口测试——对HTTP动词的支持
Requests提供了几乎所有HTTP动词的功能:GET,OPTIONS, HEAD,POST,PUT,PATCH和DELETE. 动词GET-查看提交信息 HTTP GET是一个幂等的方法,从给定的 ...
- 用Python的requests库作接口测试——上传文件
POST一个多部分编码(Multipart-Encoded)的文件 Requests使得上传多部分编码文件变得很简单: >>> url = 'http://httpbin.org/p ...
- 用Python的requests库作接口测试——对响应进行迭代
使用 requests.Response.iter_lines() 方法,可以很方便地对流式API(例如 Twitter的流式API )的响应进行迭代. 简单地设置 stream 为 True 便可以 ...
- 使用Python的requests库进行接口测试——session对象的妙用
from:http://blog.csdn.net/liuchunming033/article/details/48131051 在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有 ...
- python利用requests库模拟post请求时json的使用
我们都见识过requests库在静态网页的爬取上展现的威力,我们日常见得最多的为get和post请求,他们最大的区别在于安全性上: 1.GET是通过URL方式请求,可以直接看到,明文传输. 2.POS ...
- 用python的Requests库模拟http请求
一.先了解几个重要的http请求头或响应头信息 Request Headers: Host: 描述请求将被发送的目的地,包括,且仅仅包括域名和端口号. Origin: 说明请求从哪里发起的,包括,且仅 ...
- 【转】使用Python的Requests库进行web接口测试
原文地址:使用Python的Requests库进行web接口测试 1.Requests简介 Requests 是使用 Apache2 Licensed 许可证的 HTTP 库.用 Python 编写, ...
- 使用Python的Requests库进行web接口测试
1.Requests简介Requests 是使用 Apache2 Licensed 许可证的 HTTP 库.用 Python 编写,真正的为人类着想. Python 标准库中的 urllib2 模块提 ...
- 『居善地』接口测试 — 4、Requests库发送GET请求
目录 1.使用Requests库发送带参数的GET请求 2.查看GET请求的内容 3.带请求头.参数的Get请求 Requests库GET请求是使用HTTP协议中的GET请求方式对目标网站发起请求. ...
随机推荐
- P1280 尼克的任务 /// DP(选择性地)
题目大意: https://www.luogu.org/problemnew/show/P1280 题解 手推一遍思路更清晰 #include <bits/stdc++.h> using ...
- 面试系列10 es生产集群的部署架构
如果你确实干过es,那你肯定了解你们生产es集群的实际情况,部署了几台机器?有多少个索引?每个索引有多大数据量?每个索引给了多少个分片?你肯定知道! 但是如果你确实没干过,也别虚,我给你说一个基本的版 ...
- git使用中的问题
一.github ssh_exchange_identification: read: Connection reset by peer 和电脑环境有关,检查防火墙关了没有,是不是杀毒软件.安全卫士的 ...
- 数组,List,Set相互转化
1.数组转化为List: String[] strArray= new String[]{"Tom", "Bob", "Jane"}; Li ...
- JS流程控制语句 做判断(if语句)if语句是基于条件成立才执行相应代码时使用的语句。语法:if(条件) { 条件成立时执行代码}
做判断(if语句) if语句是基于条件成立才执行相应代码时使用的语句. 语法: if(条件) { 条件成立时执行代码} 注意:if小写,大写字母(IF)会出错! 假设你应聘web前端技术开发岗位,如果 ...
- 警告(alert 消息对话框) 如果你不点击“确定”,就不能对网页做任何操作,这个小窗口就是使用alert实现的
警告(alert 消息对话框) 我们在访问网站的时候,有时会突然弹出一个小窗口,上面写着一段提示信息文字.如果你不点击"确定",就不能对网页做任何操作,这个小窗口就是使用alert ...
- AutoIt自动化编程(2)【转】
注意:窗口标题和窗口文本参数总是对大小写敏感的. 1.等待窗口系列命令/函数 AHK和AU3都提供了用法类似的一组窗口等待命令/函数:WinWait/WinWaitActive/WinWaitClos ...
- leetcode146周赛-5132-颜色最短的交替路径
---恢复内容开始--- 题目描述: class Solution: def shortestAlternatingPaths(self, n: int, red_edges, blue_edges) ...
- Dubbo Ecosystem - 从微服务框架到微服务生态
从微服务框架到微服务生态,这是微服务发展的必然趋势,也是Dubbo社区满足开发者更高效的构建微服务体系期望的使命和担当. 近期,Apache Dubbo PPMC 望陶(社区昵称:ralf0131)做 ...
- 染色(dye)
染色(dye) Description Serene 和 Achen 在玩染色游戏.Serene 和 Achen 站在一个 n 个点 m 条边的无向连通图中,在第 i 次玩染色游戏时,Serene 在 ...