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

Python Requests发送POST请求遇400错误:Header名称无效及站点访问问题

解决Createsend POST请求400(Header name invalid)错误的方案

我之前也踩过Createsend订阅接口的坑,结合你提到的POST DATA Error 400:Header name invalid提示和Chrome控制台的信息,问题大概率出在请求头的处理上,咱们一步步来解决:

1. 别把控制台的元数据当成请求头发送

你在Chrome控制台看到的authority、method、path、scheme这些是浏览器展示的请求元数据,不是需要你手动添加到Requests里的请求头!这些字段是浏览器内部处理的,你只需要提取控制台里「Request Headers」板块的真实请求头,比如Accept、User-Agent、Referer这类。

2. 确保请求头的格式合规

Requests要求请求头是标准的键值对,键名不能有特殊字符、大小写错误,也不要手动添加Host、Content-Length这类Requests会自动生成的字段——手动设置这些字段很容易导致格式错误,触发400。

3. 正确构造POST数据

Createsend的securedsubscribe接口一般接收表单格式数据(application/x-www-form-urlencoded),所以要用data参数传递,而不是json参数。同时要确保表单字段和页面上的订阅表单一致(比如Email、Name这类必填项)。

示例代码

import requests

# 替换成你获取到的动态token
token = "7B9BCC9AE0CD58E2170E07A7D79E679426EBC1D02FA06CA791557CA7ACC1155F5A0DDA83D987E06C"
# 正确拼接URL,避免引号或空格错误
url = f"https://www.createsend.com/t/securedsubscribe?token={token}"

# 只保留必要的请求头,从Chrome控制台的Request Headers里提取
headers = {
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36",
    "Referer": "https://www.createsend.com/"  # 如果有需要的话添加
}

# 表单数据,根据实际订阅表单的字段调整
post_data = {
    "Email": "your-test-email@example.com",
    "Name": "Your Name",
    # 其他必填字段,比如可能存在的列表ID相关字段,从页面表单里找
}

try:
    # 发送POST请求
    response = requests.post(url, headers=headers, data=post_data)
    # 主动抛出HTTP错误,方便排查
    response.raise_for_status()
    print("订阅请求发送成功!")
    print("响应内容:", response.text)
except requests.exceptions.HTTPError as e:
    print(f"请求失败,错误码: {response.status_code}")
    print("错误详情:", e)
    print("服务器响应:", response.text)
except Exception as e:
    print(f"其他异常: {e}")

额外排查技巧

如果还是报错,你可以打印出Requests实际发送的请求头,和Chrome里的正确请求对比:

# 在发送请求后添加这段,查看实际发送的头信息
print("实际发送的请求头:", response.request.headers)

重点检查有没有键名错误(比如拼写错Accept成accept虽然大部分服务器兼容,但个别严格的会报错)、多余的字段(比如把scheme当成头发送)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:47:19