2016-04-21 4 views
1

Я пытаюсь отправить файл в API, а затем получить ответ - файл CSV (я видел differentposts об этом, но я не мог заставить его работать)Проблема при отправке файла в API

примеры в использовании документации httpie

http --timeout 600 -f POST http://api-adresse.data.gouv.fr/search/csv/ [email protected]/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) 

ответ

2

You need to specify files keyword argument, а не data, чтобы отправить запрос на multipart/form-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) 
#      ^^^^^ 
+0

звучит логично, действительно, отлично работает спасибо! – kwn

Смежные вопросы