接口自动化:三.get ,post请求

 request安装

1.cmd+R打开cmd输入,安装之前先关掉fiddler

>pip install requests

卸载是:pip uninstall requests

查看全部是:pip list

查看包是:pip show requests

 

 requests模块

Requests: HTTP for Humans

python2.X 有这些库名可用: urllib, urllib2, urllib3, httplib, httplib2, requests

python3.X 有这些库名可用: urllib, urllib3, httplib2, requests

两者都有的urllib3requests, 它们不是标准库.

urllib3 提供线程安全连接池和文件post支持,urlliburllib2的关系不大. requests 自称HTTP for Humans, 使用更简洁方便

 

Requests模块文档介绍:

http://cn.python-requests.org/zh_CN/latest/

Getpost请求

接口测试离不开接口文档,python写代码发送请求

 

第一种是一个纯url地址,没问号,也没问号后面的参数

第二种是带问号和参数的,传参params

 

post请求,只需要修改一下请求方式,传参data

 

 

传参有中文值,需要编码

发送请求前会按照urlencode进行编码。

请求成功后,返回.text格式

.json返回的是字典类型的数据  

.text返回的是字符串类型数据

Get请求参数和url拼接到一起一起传递

Post请求参数可以和url拼接到一起传递,也可以通过body传递

 

 

说明请求参数是通过body传递

3.返回html页面(模拟浏览器打开html页面)

 

返回json格式是错误的

 

返回结果

1.response的返回内容还有其它更多信息

-- r.status_code     #响应状态码
-- r.content           #字节方式的响应体,会自动为你解码 gzip deflate 压缩
-- r.headers          #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None
-- r.json()             #Requests中内置的JSON解码器 ,json转成python的字典了
-- r.url                  # 获取url
-- r.encoding         # 编码格式
-- r.cookies           # 获取返回的cookie
-- r.text               #字符串方式的响应体,会自动根据响应头部的字符编码进行解码
-- r.raise_for_status() #失败请求(200响应)抛出异常

--r.headers[content-type]#获取响应体header中的相应数据格式。

--r.content.decode(‘utf-8’)返回html中文乱码,需要进行编码

原文地址:https://www.cnblogs.com/liushui0306/p/13157305.html