通过urllib2.urlopen同步读取和放置块

时间:2017-09-27 14:27:26

标签: python python-2.7 urllib2 urlopen

我有一个简单的Python脚本,它应该从HTTP源读取文件并向另一个HTTP源发出PUT请求。

block_size = 4096
file = urllib2.urlopen('http://path/to/someting.file').read(block_size)    
headers = {'X-Auth-Token': token_id, 'content-type': 'application/octet-stream'} 
response = requests.put(url='http://server/path', data=file, headers=headers) 

当块不为空时,如何通过block_size(chunk)进行同步读取和放置此文件?

1 个答案:

答案 0 :(得分:0)

您想要做的事情是"流媒体上传"。请尝试以下方法。

以流形式获取文件:

resp = requests.get(url, stream = True)

然后像对象一样发布文件:

requests.post(url, data= resp.iter_content(chunk_size= 4096))