Как отправить файл по http из консольного приложения в POST на python?

Может кто знает, с использованием библиотеки requests как можно отправить файл формата WAV по HTTP в теле POST запроса на сервер, и при этом разбить файл на пакеты. Пытаюсь сделать это так:

import requests

host = "..............."
port = 80

f = open('q.wav', 'rb')
filesend = f.read(1024)
headers = {
   "Content-Type": "G.711U;boundary=audio",
   "Content-Length": "999999999",
   "Connection": "Keep-Alive",
   "Cache-Control": "no-cache"
   }

call = requests.get('http://' + host + '............................')
print(call.status_code)
r = requests.post('http://' + host + '...........................', headers=headers, data=filesend)
print(r.status_code, r.text)

сервер возвращает :

200, но с ошибкой Document Error: Data follows

Как сделать это правильно?


Ответы (1 шт):

Автор решения: Evgeniy
f = open('q.wav', 'rb')
r = requests.post('http://' + host + '...........................', headers=headers, files=f)
→ Ссылка