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

Python爬虫如何发送request payload参数解决API请求400错误

错误原因

  • 请求方法选择错误:getFilteredInventory 接口要求使用POST请求提交参数,你当前用的GET请求仅支持传递URL后缀的查询参数,无法提交符合接口要求的请求体payload。
  • 参数传递方式错误:你使用params参数传递payload,该参数会把数据序列化后拼接在URL末尾,而该接口要求payload放在请求体中以JSON格式提交。

修复后的代码

import requests

payload = {"Search": {"FuelType": ["Diesel"]}, "Sort": {"Featured": "true"}}
url = "https://easyauto123.com.au/api/v1/getFilteredInventory"
# 模拟浏览器请求头,避免被反爬规则拦截
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
# 用POST请求提交JSON格式payload
response = requests.post(url, json=payload, headers=headers)

if response.status_code == 200:
    data = response.json()
    # 后续处理返回数据
else:
    print(f"请求失败,状态码:{response.status_code},返回信息:{response.text}")

补充说明

如果调整后仍请求失败,可以打开浏览器开发者工具的网络面板,找到该接口的实际请求,把请求头里的Referer、Cookie等字段也复制到代码的headers参数中,部分站点会校验这些字段来拦截爬虫请求。

内容的提问来源于stack exchange,提问作者mukul dhiman

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 01:27:00