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

Python使用requests发送form-data格式POST登录请求失败如何解决

问题原因

你当前代码无法正常运行的核心原因是POST请求载荷的传递格式不符合接口要求:
requests.post的data参数默认会按application/x-www-form-urlencoded表单格式处理内容,你直接传入字符串形式的JSON数据时,后端接口无法正确识别解析参数。

正确实现方案

方案1(推荐):使用json参数传递载荷

直接将登录参数写成Python字典,通过json参数传递,requests会自动完成JSON序列化,同时自动添加Content-Type: application/json请求头:

import requests

inf = {"user_email": "celes.....bosa@gmail.com", "user_password": "xxxxxxxxx"}
response = requests.post('https://www.iped.com.br/api/user/login', json=inf)
# 先打印状态码排查请求是否正常
print(response.status_code)
print(response.json())

方案2:手动指定请求头传递JSON字符串

如果你需要提前将参数序列化为JSON字符串,需要手动添加请求头声明内容类型:

import requests
import json

inf = json.dumps({"user_email": "celes.....bosa@gmail.com", "user_password": "xxxxxxxxx"})
headers = {"Content-Type": "application/json"}
response = requests.post('https://www.iped.com.br/api/user/login', data=inf, headers=headers)
print(response.status_code)
print(response.json())

排查建议

如果修改后仍然请求失败,可以先打印response.text查看原始响应内容,确认是否是账号密码错误、接口需要额外校验(比如User-Agent、csrf token)等问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 17:24:04