У меня есть служба, в которую мне нужно загрузить контент, и сервер начинает отправлять ответ после получения определенного количества данных, в то время как мой объект запроса все еще загружается.Python запрашивает ответ при загрузке тела запроса
headers = {'Content-Type': 'application/octet-stream', 'Expect': '100-continue', 'Connection' :'keep-alive'}
url = "https://MY_API_URL/WEBSERVICE"
response = requests.put(url, headers=headers,stream=True, data=data_gen(fh))
lines = response.iter_lines()
for line in lines:
print line
data_gen моя функция генератора, которая принимает дескриптор файла очень большого файла, который дает 4KB на одну итерацию.
Моя проблема в том, что я не получаю «отклик» до загрузки всего файла. Любые идеи о том, как я могу это преодолеть.
Пожалуйста, попробуйте contextlib.closing отсюда - http://docs.python-requests.org/en/latest/user/advanced/#body-content-workflow –
Возможно, в вашем ответе нет новой строки. Вы также можете попробовать 'для данных в response.iter_content (size):' – Mehdi
Это также зависит от вашего веб-сервера. Может быть, он не обеспечивает статус выполнения во время загрузки? – Mehdi