maxpoitn2point
@maxpoitn2point
Как всегда, в своем репертуаре

Почему не получается отправить файл на сервер?

пытаюсь отправить xml файл на сервер с помощью библиотеки requests
отправляю так:
with open("QueryRests.xml","rb") as f:
   r = requests.post('http://localhost:8080/opt/in/QueryRests', files={'QueryRests.xml' : f}, headers={"Content-Type" : "multipart/form-data"})
r.text

в ответ получаю ошибку сервера
Error 500 Server Error\n\nHTTP ERROR 500\nProblem accessing /opt/in/QueryRests. Reason:\n Server ErrorCaused by:java.lang.RuntimeException: java.io.IOException: Missing initial multi part boundary

ругается на параметр boundary.
Где его взять? я так понял, что он указывает на конец файла в пакете. как его сформировать?
Возможно ли как то обмануть сервер отправляя xml не в виде файла, а просто текстом
  • Вопрос задан
  • 176 просмотров
Решения вопроса 1
@iddqda
network engineer, netdevops
сам не пробовал, но в доке к requests немного по другому этот момент описан
https://requests.readthedocs.io/en/master/user/qui...

сравните ваш объект:
files={'QueryRests.xml' : f}
и пример из документации:
files = {'file': ('report.xls', open('report.xls', 'rb'), 'application/vnd.ms-excel')}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы