【发布时间】:2015-09-01 01:57:24
【问题描述】:
我有一个需要上传内容的服务,服务器在获得一定数量的数据后开始发送响应,而我的请求正文仍在上传。
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.closure - docs.python-requests.org/en/latest/user/advanced/…
-
您的回复中可能没有换行。你也可以试试
for data in response.iter_content(size): -
这也取决于您的网络服务器。也许它在上传过程中没有提供进度状态?
标签: python upload streaming python-requests