Я пытаюсь загрузить файл CSV в API (который дает мне очень мало информации об ошибках), используя библиотеку запросов Python.
(я использую Python 3.5 и использую запросы версии 2.18.4 в OS X 10.11.6)
Эта команда curl в терминале работает нормально: curl -F 'file=@/path/to/file.csv' myurl.com/upload -H "Authorization: TOKEN sometoken"
POST-запрос multipart / form-data от Postman также работает, но я не могу заставить его работать с библиотекой запросов 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"}
(разочаровывающе бесполезен).
Чего мне не хватает в запросе python по сравнению с запросом curl?
РЕДАКТИРОВАТЬ: кажется, что флаг -F
для команды curl
эмулирует отправленную форму HTML ... есть ли способ сделать это с запросами?