Я пытаюсь закодировать загрузку файла в веб-сервис через REST API в Python.В документации службы приведен пример использования curl в качестве клиента:
curl -X POST -H \
-H "Content-Type: multipart/form-data" \
-F "file=filename.ext" \
-F "property1=value1" \
-F "property2=value2" \
-F "property3=value3" \
https://domain/api/endpoint
Сложность для меня заключается в том, что этот синтаксис не соответствует найденным мною составным примерам данных форм, включая документацию requests
.Я попытался это, что не работает (отклонено API):
import requests
file_data = [
("file", "filename.ext"),
("property1", "value1"),
("property2", "value2"),
("property3", "value3"),
]
response = requests.post("https://domain/api/endpoint",
headers={"Content-Type": "multipart/form-data"}, files=file_data)
С ошибкой: "org.apache.commons.fileupload.FileUploadException: запрос был отклонен, так как не было найдено многокомпонентной границы"
Кто-нибудь может помочь перенести этот пример curl в правильный код Python?
Спасибо!
R.