python接口自动化(post请求)
python接口自动化(post请求)
一、post请求的作用:新增资源
二、data格式的参数请求(data是字典对象)
#1.导包 import requests #2.调用post方法 #请求的URL url='https://www.******/pc/member/sign' #请求头 headers={'content-type':'application/x-www-form-urlencoded'} #请求的参数 data={'flag': 'mobile', 'password': 'e9f5c5240c0bb39488e6dbfbdb1517e0', 'mobile_phone':' 136*******'} r=requests.post(url,data=data,headers=headers) #3.获取响应对象 print(r.text)#文本格式 print(r.json())#json格式 #4.获取响应状态码 print(r.status_code) #5.请求的URL print(r.url)
三、json格式的参数请求(json是json字符串)
1.导包 import requests #2.调用post方法 #请求的URL url='https://www.*********.top/pc/member/sign' #请求头 headers={'content-type':'application/x-www-form-urlencoded'} #请求的参数 json={ "data":[{'flag': 'mobile', 'password': 'e9f5c5240c0bb39488e6dbfbdb1517e0', 'mobile_phone':' ********'}] } r=requests.post(url,json=json,headers=headers) #3.获取响应对象 print(r.text)#文本格式 print(r.json())#json格式 #4.获取响应状态码 print(r.status_code) #5.请求的URL print(r.url)
四、讲data格式的请求参数转换成json格式的参数
- 导入json包
- 利用json.dumps(data对象)将data格式转换成json格式
#实例-将data格式的参数转换成json格式 #1.导包 import requests import json #2.调用post方法 #请求的URL url='https://www.********.top/pc/member/sign' #请求头 headers={'content-type':'application/x-www-form-urlencoded'} #请求的参数 data={'flag': 'mobile', 'password': 'e9f5c5240c0bb39488e6dbfbdb1517e0', 'mobile_phone':' *******'} #利用json.dumps(字典对象)来将data格式转换成json格式 r=requests.post(url,data=json.dumps(data),headers=headers) #3.获取响应对象 print(r.text)#文本格式 print(r.json())#json格式 #4.获取响应状态码 print(r.status_code) #5.请求的URL print(r.url)
五、响应数据json()格式和text格式的区别
- json()格式返回字典类型,可以通过键名的方式来获取响应的值
- text格式返回的是字符串类型,无法通过键名的方式来获取响应的值
- json()格式通过键名获取响应值的方式是:json()[‘’键名']
# 通过键名的方式来获取响应中的值 #1.导包 import requests import json #2.调用post方法 #请求的URL url='https://www.*********.top/pc/member/sign' #请求头 headers={'content-type':'application/x-www-form-urlencoded'} #请求的参数 data={'flag': 'mobile', 'password': 'e9f5c5240c0bb39488e6dbfbdb1517e0', 'mobile_phone':' 1********'} #利用json.dumps(字典对象)来将data格式转换成json格式 r=requests.post(url,data=json.dumps(data),headers=headers) #3.获取响应对象 print(r.text)#文本格式 print(r.json())#json格式 #4.获取响应状态码 print(r.status_code) #5.请求的URL print(r.url) #6.通过响应结果中json格式的键名来获取结果 print(r.json()['message'])