python中httplib2下载进度条
在使用httplib2的时候,能不能显示一个文件下载了多少百分比呢?我知道用urllib2可以做到,但我想用httplib2。
2 个回答
0
我对如何使用async()不是很确定,似乎这个问题已经被官方解决了。
而且你可以自己修改httplib2:
(给request()函数添加一个回调函数参数)
在Http类中:
在def _request中:把它修改成:
def _request(self, conn, host, absolute_uri, request_uri, method, body, headers, redirections, cachekey,callback=None):
在def _conn_request中:把它修改成:
def _conn_request(self, conn, request_uri, method, body, headers,callback=None):
下面这个也要修改
if method == "HEAD":
conn.close()
else:
if not callback:
content = response.read()
else:
while 1:
content=response.read(callback[0])
if not content:break
callback[1]()
使用时可以这样输入:
resp, content = h.request("http://stackoverflow.com", [8192,callbackfunc])
前面的8192是块大小,callbackfunc是你定义的回调函数(就像在urllib中一样)
2
不,httplib2
没有任何进度回调的功能,所以它会一直等待,直到请求完成。