P2:认识requests库的常用方法与实战
二、全面认识requests库的常用方法
requests是python第三方库安装命令方法如下:
pip install requests
python的默认的测试用来规则
1、模块名必须以test_开头或_test结尾;
2、类名必须以Test开头;
3、测试用例名必须以test_开头
#核心的六个方法
#post、delete、put、get =======增、删、改、查
def test_get_token(self):
requests.post()
requests.delete()
requests.put()
requests.get()
requests.request()
requests.session()
Ctrl+鼠标点击,可进入该方法如下图:
def post(url, data=None, json=None, **kwargs):
#发送post请求
#url:
#data:
#json:
#**kwargs:
def delete(url, **kwargs):
#发送delete请求
#url:
#**kwargs:可变长度的字典
def put(url, data=None, **kwargs):
#发送put请求
#url:
#data:
#**kwargs:可变长度的字典
def get(url, params=None, **kwargs):
#发送get请求
#url:
#params:
#**kwargs:可变长度的字典
--------------前边四个方法都会调用下面的方法------------------
def request(method, url, **kwargs):
#根据method传参的请求方式发送请求
#method:接收方法例如get、post,传给session里面的request方法的method
#url:接收url,传给session里面的request方法的url
#**kwargs:可变长度的字典,接收**kwargs,传给session里面的request方法的 params,data,headers,cookies,files,auth,timeout,allow_redirects,proxies,hookse,stream,verify,cert,json,
--------------request方法都会调用下面session里面的request方法------------------
#session里面的request方法
def request(self,
method, #请求方式
url, #请求路径
params=None, #get请求传参
data=None, #post或put请求传参
headers=None, #请求头
cookies=None, #请求头里的cookie信息
files=None, #文件上传
auth=None, #文件上传
timeout=None,
allow_redirects=True,
proxies=None,
hooks=None,
stream=None, #文件下载
verify=None,
cert=None,
json=None, #post请求的第二种传参方式
):
----------------------------------------------------
def session(): #获得回话对象,获得的是会话对象
*args和**kwargs有什么区别
*args:传输的数据作为一个元组来处理
**kwargs;传输的数据作为一个字典来处理
三、全面认识reponse库的常用方法
res.text #响应的文本信息(返回字符串)
res.content #响应的字节信息(返回字节数据)
res.json() #响应的json信息(返回json数据,python是字典)
res.status_code #响应的状态码信息(返回状态码)
res.reason #响应的状态信息(返回状态信息)
res.cookies #响应的cookies信息(返回响应cookie)
res.encoding #响应的编码格式(返回响应编码)
res.headers #响应的响应头信息(返回响应头)
res.request.xxxxxx #在响应里得到请求信息(返回请求的一些数据)
四、实战
get请求通过params传参
post请求通过data和json传参
postosm有四种传参方式:form-data、x-www-form-urlencoded、raw(包含五种)、binary
form-data:files上传,除了文件上传也可以用表单data传参
x-www-form-urlencoded:表单data传参
raw:除了json用json传参,其他全部用data传参
binary:data传参
而代码除了上传文件用files和json用json,其他全部用data传参
文件上传案例:
#文件上传
def test_file_upload(self):
urls ="https://api.weixin.gq.com/cgi-bin/media/uploadimg?access_token="+TestApi.access_token
datas = {
"media":open("C:\\Users\Admin\Desktop\\1689325925535.jpg","rb") #通过open打开一个文件,rb设置成二进制的文件流
}
res3 = requests.post(url=urls,files=datas)
print(res3.json())
本文来自博客园,作者:Test-L帅,转载请注明原文链接:https://www.cnblogs.com/laoshuai/p/17593170.html