You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修正Python requests发送POST请求时的400错误?

问题排查与修复

你的代码存在两个关键问题,导致POST请求返回400错误:

  • 请求体传递错误:你将myObj2用引号包裹成了字符串,这会把字符串"myObj2"作为请求体发送,而非实际的字典数据。应直接传入字典变量myObj2,而非字符串形式。
  • 请求体格式不匹配:目标API大概率要求JSON格式的请求体,而使用data参数传递字典时,requests会自动将其编码为表单格式(application/x-www-form-urlencoded),这不符合API的接收要求。

修复后的代码如下:

import requests  # 确保已导入requests库

headers = {
    "User-Agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Mobile Safari/537.36"
}

telefoongids_input = "https://www.detelefoongids.nl/api/search/index"
myObj2 = {"who":"John", "where": "Amsterdam", "page": 0}
# 使用json参数自动将字典序列化为JSON格式,并添加正确的Content-Type请求头
b = requests.post(url=telefoongids_input, json=myObj2, headers=headers )
b1 = b.text
print(b1)

额外提示:

  • 若仍报错,可打印b.status_code和b.json()(若返回JSON格式响应)查看详细错误信息,多数API会在400响应中说明具体的参数问题。

内容的提问来源于stack exchange,提问作者Javar Place

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 15:47:37