Python如何发送post请求

post请求基本不会把参数放在url里,一般都放到body里面。

方式一:post请求,有请求参数

import requests
url = 'https://m.xxxxxx.com/xxxx/user/smsLogin'
new_json = {
    "appCode":"1011",
    "mobile":"13711110000",
    "code":"1111"
}
res = requests.post(url,json=new_json)
print(res.json())

方式二:既有请求参数,也有请求头。

 1 import requests
 2 
 3 url = 'https://m.xxxxx.com/xxxx/xxxx/common/api/user/smsLogin'
 4 new_data =  {
 5     "appCode":"1011",
 6     "mobile":"13711110000",
 7     "code":"1111"
 8 }
 9 new_haeders = {
10     'appCode':'1011',
11     'token':'xxxxxxxxxxxxxxxxxxxxxxxxx',
12     'groupId':'26'
13 }
14 res = requests.post(url,headers=new_haeders,json=new_data)
15 print(res.json())

其它注意点:如果是变化的参数,比如token,可以用一个变量去接收,然后作为下一个接口请求的token值。

 1 import requests
 2 url = 'https://m.xxxxxx.com/xxxxx/xxxxx/common/api/user/smsLogin'
 3 new_data =  {
 4     "appCode":"1011",
 5     "mobile":"13711110000",
 6     "code":"1111"
 7 }
 8 new_haeders = {'appCode':'1011'}
 9 res = requests.post(url,headers=new_haeders,json=new_data)
10 # 获取token,用变量接收。(根据响应体按层级找‘token’)
11 new_token = res.json()
12 token = new_token['result']['token']
13 
14 # 把上个接口获取到的token,作为下一个接口的token值。
15 url = 'https://mtest.xxxxx.com/xxxxx/xxxxx/store/bi/carcards/queryCarBrand'
16 new_haeders = {
17     'appCode':'1011',
18     'token':"{}".format(token),
19     'groupId':'59',
20     'groupType':'2'
21 }
22 new_data = {
23     "appCode": "1011",
24     "storeId": 59
25 }
26 res = requests.post(url,headers=new_haeders,json=new_data)
27 print(res.json())

 

posted @ 2021-06-08 14:44  干脆面666  Views(4147)  Comments(0Edit  收藏  举报
/* 看板娘 */ /* 点击鼠标烟花效果 */