【发布时间】:2020-03-23 09:12:57
【问题描述】:
我需要使用 Python 向 API 服务器发送 post 请求。
我在 Postman 中所做的如下所示。
此请求需要这些标头:
{
'Accept': 'application/json',
'Content-Type': 'multipart/form-data'
}
我希望代码 200 和类似的东西
{
"data": {
"image": "mypic"
}
}
如何通过 Python 发送此请求?
我做了一些类似的测试
r = requests.Request(method='POST', url='https://api.myapi.site/api/post', headers={
'Accept': 'application/json',
'Content-Type': 'multipart/form-data'
}, data={
'identifier': 'test',
'token': 'db642912e1a431651c8776',
'image': open('mypic.png', 'rb')
}).prepare()
s = requests.Session()
rsp = s.send(r)
s.close()
但这不是答案,得到了 401 回报,
服务器说我发送了一个带有“form-urlencoded”标头的请求。
所以也许它不是通过数据参数发送的,
但我尝试使用参数,服务器说我发送的数据太大。
请帮忙!
【问题讨论】:
-
运行代码时遇到什么错误?当你向邮递员提出要求时,你会得到什么结果?请同时更新您的问题。
-
@lee-pai-long 我更新了我的问题。谢谢!
-
您可能缺少一些 cookie,XSRF-TOKEN 也有类似的问题。在我的情况下 client = requests.session() client.get(url) csrf_token = client.cookies['XSRF-TOKEN'].replace('%3D', '=') 帮助