使用httplib2时是否可以显示文件在python中下载的百分比?我知道你可以使用 urllib2,但我想使用 httplib2。
问问题
684 次
2 回答
2
不httplib2
,没有任何类型的进度信标回调,所以它只是阻塞直到请求完成。
于 2011-02-20T07:17:29.943 回答
0
我不太确定如何使用 async() 似乎它已经正式解决了。
并且可以自己修改httplib2:(将回调函数arg添加到request()函数中) 在Http类中:在def _request中:将其修改为:
def _request(self, conn, host, absolute_uri, request_uri, method, body, headers, redirections, cachekey,callback=None):
在 def _conn_requst: 中修改为:
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 中)
于 2013-03-21T04:17:56.760 回答