将文件发送到API时发出问题

时间:2016-04-21 09:10:31

标签: 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)

1 个答案:

答案 0 :(得分:3)

You need to specify files keyword argument,而非data发布多部分/表单数据请求。

密钥应匹配: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)
#                        ^^^^^