1、在python中,可以构造HTTP请求的库
1、内置库:httplib,urllib2,http
2、第三方库:urllib3,requests,pyCurl
2、requests库介绍
1、是用Python语言编写,基于urllib3,采用开源协议的HTTP库。
2、它比urllib3更加方便可以节约我们大量的工作,完全满足HTTP测试需求。
3、requests库特点
简便易用、功能强大、可读性强
4、requests库安装
方式1、命令安装: pip install requests
方式2、从github上下载源码进行安装。
方式3、用集成工具,如pycharm进行安装,也是可以的。
5、requests库帮助文档
网址:http://cn.python-requests.org/zh_CN/latest/
6、requests库构造请求参数的方法
方法如下:
1、params参数(查询字符串参数),传入的是字典,自动编码为表单。
2、data参数(消息体参数),传入的是字典,自动编码为表单。
3、data参数(消息体参数),传入的是字符串,按原格式直接发布出去。
4、json参数(消息体参数),传入的是字典,自动编码为json字符串,相当于json.dumps(dict) 。
5、json参数(消息体参数),传入的是字符串,添加双引号后,按原格式直接发布出去。
6、headers参数(请求头中的headers参数),传递的是字典格式。
7、cookies参数(请求头中的cookies参数),传递的是字典格式。
8、如果接口文档要求content-type为表单,则:key和value间用(=连接),参数之间用(&连接)。
9、如果接口文档要求content-type为json字符串,则:key和value间用(:连接),参数之间用(&连接符)。
10、其实json参数完全可以用data参数替代的。json参数做了一个把字典格式转换为json字符串的操作,即:data=json.dumps(dictPayload)等同于 json=dictPayload 。
7、requests库如何构建请求参数,总结如图所示:
1、如果是get请求,因为它只有一个params参数,所以根据方法1构造请求就行。
2、如果是post或者put请求,根据实际文档要求传参类型构造。
注:字典中嵌套字典,被嵌套的字典也可能会被转换成表单。