守护麦田  

今天有个post请求,还挺少见的。 这个post请求,直接在post请求地址后,加参数。如下:

 

 

 加密前如上所示,用fiddler抓包。加密后的如下:

 

 

 

咨询资料后,post 请求,在地址后加参数。 将data参数用params 接收即可。 用params 接收,直接将参数放置url地址后; 用data接收,参数放置body体

rep = requests.post(url=url,params=data)

代码如下:
url ="http://xx.xx.xx.xxx:xxxxx/token/common/accessToken"
data ={
"clientId": "G7",
"clientSecret": "29p7F89T67",
"grantType": "client_credentials",
"scope": "all",
"userId": "SF20201124"}
rep = requests.post(url=url,params=data)
发现,data参数是在 post请求 url地址后了,但是是正常的,没有转码。
使用:data = urlencode(data),放置rep 之前,发现还是不行。与抓包的不一致,且缺少东西。
再次查询资料后, 解决。发现,转码前,不能直接这么放。
由于,这个接口返回json格式数据。直接返回数据,进行了json()处理
参考代码如下:
url = "http://xx.xx.xx.xxx:xxxxx/token/common/accessToken"
a = {"data":{"clientId": "G7",
"clientSecret": "29p7F89T67",
"grantType": "client_credentials",
"scope": "all",
"userId":"SF20201124"}}
data = urlencode(a)
rep = requests.post(url=url,params=data).json()
print(rep)

与fidder抓包一致。
请求:

 

 且响应正常。

 

 



 

posted on 2020-11-24 17:45  守护麦田  阅读(11621)  评论(0编辑  收藏  举报