任何时候调用requests.*()操作接口时,我们都在做两件事情:

1、构建一个Request对象,该对象被发送到服务器去请求或查询一些资源;

2、一旦requests得到一个从服务器返回的响应,就有产生一个Response对象,该对象包含从服务器返回的所有信息,也包含你原来创建的Request对象。

举个栗子:

从Wikipedia的服务器得到一些信息:

  1. >>> r = requests.get('http://en.wikipedia.org/wiki/Monty_Python')

如果想访问服务器返回给我们的响应头部信息,可以这样做:

  1. >>> 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'}

如果想要得到发送到服务器的请求头部,可以这样:

  1. >>> 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库作接口测试——请求对象与响应对象的更多相关文章

  1. 使用Python的requests库作接口测试——对HTTP动词的支持

    Requests提供了几乎所有HTTP动词的功能:GET,OPTIONS, HEAD,POST,PUT,PATCH和DELETE. 动词GET-查看提交信息 HTTP GET是一个幂等的方法,从给定的 ...

  2. 用Python的requests库作接口测试——上传文件

    POST一个多部分编码(Multipart-Encoded)的文件 Requests使得上传多部分编码文件变得很简单: >>> url = 'http://httpbin.org/p ...

  3. 用Python的requests库作接口测试——对响应进行迭代

    使用 requests.Response.iter_lines() 方法,可以很方便地对流式API(例如 Twitter的流式API )的响应进行迭代. 简单地设置 stream 为 True 便可以 ...

  4. 使用Python的requests库进行接口测试——session对象的妙用

    from:http://blog.csdn.net/liuchunming033/article/details/48131051 在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有 ...

  5. python利用requests库模拟post请求时json的使用

    我们都见识过requests库在静态网页的爬取上展现的威力,我们日常见得最多的为get和post请求,他们最大的区别在于安全性上: 1.GET是通过URL方式请求,可以直接看到,明文传输. 2.POS ...

  6. 用python的Requests库模拟http请求

    一.先了解几个重要的http请求头或响应头信息 Request Headers: Host: 描述请求将被发送的目的地,包括,且仅仅包括域名和端口号. Origin: 说明请求从哪里发起的,包括,且仅 ...

  7. 【转】使用Python的Requests库进行web接口测试

    原文地址:使用Python的Requests库进行web接口测试 1.Requests简介 Requests 是使用 Apache2 Licensed 许可证的 HTTP 库.用 Python 编写, ...

  8. 使用Python的Requests库进行web接口测试

    1.Requests简介Requests 是使用 Apache2 Licensed 许可证的 HTTP 库.用 Python 编写,真正的为人类着想. Python 标准库中的 urllib2 模块提 ...

  9. 『居善地』接口测试 — 4、Requests库发送GET请求

    目录 1.使用Requests库发送带参数的GET请求 2.查看GET请求的内容 3.带请求头.参数的Get请求 Requests库GET请求是使用HTTP协议中的GET请求方式对目标网站发起请求. ...

随机推荐

  1. LeetCode 19.删除链表的倒数第N个节点(Python)

    题目:    给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点 ...

  2. 【左偏树】[APIO2012]派遣

    题意可真的是有毒 第一眼树形背包可做?(反正我没用树形背包打过,边上巨佬打的背包似乎没拿分) 后来发现可以贪心搞,我们先把一个节点所有的儿子都取进去,之后不行的话再从大的开始拿走就好了 问题就变成了了 ...

  3. 以太坊solidity智能合约语言学习资源整理

    暂时看到篇文章写的不错,先收集下来,后面有机会自己也整理一个 Solidity语言学习(一)Solidity语言学习(二)——Solidity的安装与编译Solidity语言学习(三)——智能合约编程 ...

  4. 廖雪峰Java13网络编程-1Socket编程-5UDP编程

    1. UDP编程: 不需要建立连接 可以直接发送和接收数据 1.1 客户端 DatagramSocket sock = new DatagramSocket(){} sock.connect(addr ...

  5. SQLServer索引的四个高级特性

    一Index Building Filter索引创建时过滤 二Index Include Column索引包含列 三聚集索引Cluster Index 四VIEW INDEX视图索引   SQLSer ...

  6. java接口的意义

    java当中继承一个接口,要重写他的方法的话,那为什么还要多此一举的去实现一个接口呢? 直接把方法写在类当中不就可以了?就是说去掉类名后面的Implements 接口 ,可以不可以呢? 接口的最主要的 ...

  7. 表单控件绑定v-model

    <!DOCTYPE html> <html lang="zh"> <head> <title></title> < ...

  8. elasticDump的安装使用

    官方地址:官方地址:https://github.com/taskrabbit/elasticsearch-dump 安装方式如下:安装NodeJS下载源码:wget http://nodejs.or ...

  9. Django的日常-视图层

    目录 Django的日常-3 JsonResponse form表单上传文件 CBV的源码分析 视图层 模板传值 过滤器 标签 自定义过滤器和标签 Django的日常-3 JsonResponse 在 ...

  10. C++面向对象高级编程(下)第二周-Geekband

    17,对象模型:关于vptr(vitrual Pointer)和vtbl(virtual Table) 当存在虚函数就会出现虚指针vptr指向虚函数所在位置vtbl 将vptr实现vtbl内容翻译为C ...