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

使用Python requests传递POST body参数时提示mfa-code缺失如何解决

问题排查&修正方案

  1. 拼写错误修正
    你给出的示例代码里requests拼写错误成了reqeusts,如果实际代码也是这么写的会直接抛出命名错误,先修正这个低级错误。

  2. URL补全
    你当前的url只写了域名redacted.net,缺少协议前缀(https://)和接口路径/login2,修正为完整的接口地址:url = "https://redacted.net/login2"

  3. 补全必要的请求头和Cookie
    从你给出的正常请求格式看,服务端需要校验Cookie字段里的session和verify值,你没传递这部分参数的话,服务端无法匹配到对应的验证会话,自然会判定参数缺失。另外如果服务端有校验Referer、Origin这类字段,也需要同步加上避免被拦截。

  4. 确认POST参数编码格式
    你要的application/x-www-form-urlencoded格式用data参数传递是完全支持的,requests会自动将字典转为key=value的表单格式,不需要手动用json.dumps,json参数是用来发JSON格式请求体的,你这个场景不用。


修正后可运行代码

import requests

# 补全完整的接口地址
url = "https://redacted.net/login2"
# 表单参数
data = {"mfa-code": "0000"}
# 补全Cookie,值替换成你自己的实际值
cookies = {
    "session": "qexMWyQnLtSlBI8B005qnVW4OYvEwEV2",
    "verify": "wiener"
}
# 补全必要的请求头,避免服务端校验拦截
headers = {
    "Referer": "https://redacted.net/login2",
    "Origin": "https://redacted.net",
    "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0"
}

r = requests.post(url, data=data, cookies=cookies, headers=headers)
print(r.text)

调试方案

如果运行后仍报错,可通过以下代码确认实际发送的请求内容是否符合预期,requests完全支持该场景的需求,不存在实现不了的情况:

  • 打印实际请求体:print(r.request.body),确认输出为mfa-code=0000
  • 打印实际请求头:print(r.request.headers),确认Content-Type为application/x-www-form-urlencoded

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 11:45:02