【发布时间】:2018-04-27 22:24:14
【问题描述】:
我正在尝试使用 python 请求库将 CSV 文件上传到 API(这给了我很少的错误信息)。
(我正在运行 Python 3.5 并在 OS X 10.11.6 上使用请求版本 2.18.4)
终端中的这个 curl 命令可以正常工作:curl -F 'file=@/path/to/file.csv' myurl.com/upload -H "Authorization: TOKEN sometoken"
来自 Postman 的 multipart/form-data POST 请求也有效,但我似乎无法使其与 python 请求库一起工作。
我已经尝试了这个请求的许多变体:
import requests
headers = {'Authorization': 'TOKEN sometoken', 'Content-Type': 'multipart/form-data'}
with open(file_path, 'rb') as f:
r = requests.post(myurl, headers=headers, data=f)
## I've also tried data={"file": f}
我得到一个状态码 200,但响应是 {"success": "false"}(令人沮丧地没有帮助)。
与 curl 请求相比,python 请求中缺少什么?
编辑:看来-F 的-F 标志curl 命令模拟已提交的HTML 表单...有没有办法用请求做到这一点?
【问题讨论】:
标签: python python-3.x curl file-upload python-requests