Web服务器通过要下载的文件响应POST请求(具有Content-Disposition标头)。使用urllib或机械化开启器将响应主体下载到什么位置?在没有下载主体的情况下在Python中检查HTTP POST标题
opener = mechanize.build_opener(HTTPRefererProcessor, HTTPEquivProcessor, HTTPRefreshProcessor)
r = make_post_request() # makes Request object to send
res = opener.open(r)
info = response.info()
content_disp = info.getheader('content-disposition')
filename = content_disp.split('=')[1]
content = res.read() # or skip based on filename
我的印象是,该机构将不会下载,直到读(),这将是跳过某些下载(如已下载的文件),但我没有看到性能提升很大有用。
使用像wireshark这样的流量分析器...你通过连接发送了什么? – 2011-06-01 19:44:51
WireShark可能会告诉您*文件发送了多少*,但无论您是否调用了read(),Web服务器都将开始传输文件。尽管存在的缓冲区可能会填满,如果尚未调用read(),传输可能会停止。 – 2011-06-01 19:50:42