转载来自:http://www.zzvips.com/article/102263.html
1、get方法请求接口
url:显而易见,就是接口的地址url啦
headers:请求头,例如:content-type = application/x-www-form-urlencoded
params:用于传递测试接口所要用的参数,这里我们用python中的字典形式(key:value)进行参数的传递。
举个例子:
import requestsurl="http://api.shein.com/login"header={"content-type":"application/x-www-form-urlencoded"}param={"user_id":123456,"email":"123456@163.com"}timeout=0.5response = requests.get(url, headers=header, params=param, timeout=timeout)# response = requests.request("get",url,headers=header,params=body,timeout=timeout)print (response.text)
2、post方法请求接口
import requestsurl="http://api.shein.com/login"header={"content-type":"application/x-www-form-urlencoded"}param={"user_id":123456,"email":"123456@163.com"}timeout=0.5response = requests.post(url, headers=header, data=param, timeout=timeout)# response = requests.request("post",url,headers=header,data=param,timeout=timeout)print (response.text)
import requestsurl = "https://apipc.xinqgj.com/user/login"payload = {"phone":"17779828887","pwd":"Ty+coun/mUj1saGV2OCK6p5kN9MNt8Uznj"}headers = {'Content-Type': 'application/json'}response = requests.request("POST", url, headers=headers, json = payload)print(response.text)
3、requests.Session()请求接口
import requestssession = requests.Session() #定义全局session,通过 session 保持会话class Cms():def login(self):url = "http://192.168.1.110:8080/cms/manage/loginJump.do"header = {"Content-Type": "application/x-www-form-urlencoded"}parmas = {"userAccount": "admin", "loginPwd": "123456"}#通过全局 session 请求接口res = session.post(url=url, headers=header, data=parmas)print(res.json())def queryUserList(self):url = "http://192.168.1.110:8080/cms/manage/queryUserList.do"header = {"Content-Type": "application/x-www-form-urlencoded"}parmas = {"startCreateDate":"","endCreateDate":"","searchValue":"","page":"1"}# 通过全局 session 请求接口res = session.post(url=url, headers=header, data=parmas)print(res.json())if __name__ == '__main__':Cms().login()Cms().queryUserList()
注意:Python requests模块params、data、json的区别
- requests 模块发送请求有 data、json、params 三种携带参数的方法。
- params 在 get 请求中使用,data、json 在 post 请求中使用
import requestsurl = "https://xxxx.com/user/login"payload = {"phone":"1777982xxxx","pwd":"Ty+coun/mUj1saGV2OCK6p5kN9MNt8UznjaGsQ5A/nKPSH1NZW"}headers = {'Content-Type': 'application/json'}response = requests.request("POST", url, headers=headers, json = payload)print(response.text)print(response.json())print(response.status_code)print(response.url)print(response.headers)print(response.encoding)
