接口请求400错误:Request failed with st

2022-06-17  本文已影响0人  物語_23

问题现象

在用python写自动化脚本时,接口调用,返回"Request failed with status code 400"错误,同样的参数使用postman返回正常,代码如下。

import requests

url = 'https://xxx.xxx.cn/api/mini/search/wordv2'

data = {"txt":"word","uuid":"xxxx","isFirst":1}

re = requests.post(url,data).text

print(re)

代码返回结果

{"errcode":-1,"errmsg":"Error: Request failed with status code 400"}

分析

从postman中获取python代码查看,如下为查看方式以及结果

查看方式 查看结果

通过分析postman调用的参数发现,data为json格式,且在参数设置headers将请求数据以json的格式发送。

requests中,设置headers参数{‘Content-Type’: ‘application/json’ },是将请求数据以json的格式发送,而headers中默认请求方式是表单提交:{‘Content-Type’: ‘application/x-www-form-urlencoded’ };

修改后的代码

import requests

import json

url = 'https://xxx.xxx.cn/api/mini/search/wordv2'

data = json.dumps({"txt":"word","uuid":"xxx","isFirst":1})

re = requests.post(url,data,headers = {'Content-Type': 'application/json'}).text

print(re)

修改后的执行结果
上一篇下一篇

猜你喜欢

热点阅读