Python запрашивает загрузку изображения HTTP POST

У меня возникла проблема с запросом POST, который сводит меня с ума. Я пытаюсь загрузить изображение, используя POST, используя запросы Python, реплицируя исходный запрос

Прежде всего, это оригинальный запрос, который я вижу в Firebug, что заголовок запроса:

Accept application/json, text/javascript, */*; q=0.01
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.7,it;q=0.3
Cache-Control no-cache
Connection keep-alive
Content-Length 26051
Content-Type multipart/form-data; boundary=--------------------------- 37693668010849786771875799013
Cookie some cookie
DNT 1
Host my.host.com
Pragma no-cache
Referer https://my.host.com/postad/1dc185ff9e814068be23ed674956a190
User-Agent Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Firefox/38.0
X-Requested-With XMLHttpRequest

и тело запроса POST:

-----------------------------5697279162042627623887894974
Content-Disposition: form-data; name="image"; filename="clip.jpg"
Content-Type: image/jpeg

ÿØÿà�JFIF������ÿÛ�C�     .....
-----------------------------5697279162042627623887894974
Content-Disposition: form-data; name="upload"


-----------------------------5697279162042627623887894974--

Это код, который я использую для загрузки изображения:

files = {'image': ('clip.jpg', open('clip.jpg', 'rb'))}
post_image_url = "https://my.host.com/postad/563a533d9105448dbaf853f7ca0265fa/images"
r = session.post(post_image_url, files=files)

но я всегда получаю ошибку 404, предполагая, что запрос не правильный. Думаю, мне нужно скорректировать запрос, чтобы отразить исходный запрос, рассмотренный в Firebug Я считаю, что запрос не завершен, возможно, мне не хватает последней части запроса:

-----------------------------5697279162042627623887894974
Content-Disposition: form-data; name="upload"


-----------------------------5697279162042627623887894974--

который я никак не могу воспроизвести.

Любая идея?

поблагодарить

1 ответ

Добавление этого ответа, если кому-то нужно в будущем.

Пожалуйста, найдите ниже код для отправки файла изображения в запросах Python. Здесь логотип - это ключевое слово для файла изображения, который один из наших серверов принимает в качестве входных данных. Отсюда и логотип. Также убедитесь, что вы удалили "Content-type" из заголовков.

response = requests.post(url,data=data,headers=headers, files={'logo':open("your_image_file.jpeg",'rb')})

Я нашел решение, это довольно просто:

 data = {'upload': ''}

Мне нужно было передать строку загрузки таким образом и вуаля!

Другие вопросы по тегам