python - 向 API 发送文件时出现问题

标签 python api http-post python-requests

我正在尝试将文件发送到 API,然后获取响应 - CSV 文件 (我见过 different posts 关于它,但我无法让它工作)

文档中的示例使用httpie

http --timeout 600 -f POST http://api-adresse.data.gouv.fr/search/csv/ data@path/to/file.csv

但是当我使用请求时,我收到 400 Bad Request

path = '/myfile.csv'
url = 'http://api-adresse.data.gouv.fr/search/csv/'
files = {'file': open(path, 'rb')}
res = requests.post(url, data=files)

最佳答案

You need to specify files keyword argument ,而不是 data 来发布 multipart/form-data 请求。

并且 key 应该匹配:file -> data

path = 'path/to/file.csv'
url = 'http://api-adresse.data.gouv.fr/search/csv/'
files = {'data': open(path, 'rb')}
#        ^^^^^^
res = requests.post(url, files=files)
#                        ^^^^^

关于python - 向 API 发送文件时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36764942/

相关文章:

python - Vagrant、WSGI、virtualenv 和 TypeError : 'module' object is not callable

python - 导入错误: cannot import name 'Affiliate' from partially initialized module 'affiliate.models' (most likely due to a circular import)

python - Pytorch:保存模型或state_dict给出不同的磁盘空间占用

Python数据上传错误

使用移动应用程序进行 API 身份验证(通过 SMS)

api - 如何判断图片是否露骨

javascript - 如何发送参数来发布http请求?

python - VBA Shell 命令未运行(Python 脚本)

android - 使用http post params android的基本身份验证

java - Android使用php连接mysql,String查询报错