urllib2.Request 不断从代理下载缓存文件
urllib2.Request Keeps Downloading Cached File From Proxy
我有一个 Python 2.7 脚本,它通过我们的公司代理从 public FTP 站点下载 ZIP 文件。代理设置在我的 Windows 服务器的系统变量中。
下载文件有效,但我发现即使文件已在 FTP 站点上开始更新,它仍在不断下载相同版本的文件。它似乎是从代理中获取缓存版本,而不是网络上的当前版本。
这是获取文件的代码:
request = urllib2.Request(download_url)
response = urllib2.urlopen(request).read()
如何强制脚本通过代理获取当前文件,而不是缓存文件?
您可以尝试像 url 那样附加 ?foo=bar 的内容。
解决方案是添加 Cache-Control header:
request = urllib2.Request(download_url)
request.add_header('Cache-Control', 'max-age=0')
response = urllib2.urlopen(request).read()
假设代理服务器支持 header,即使 FTP 请求不支持 headers。
我有一个 Python 2.7 脚本,它通过我们的公司代理从 public FTP 站点下载 ZIP 文件。代理设置在我的 Windows 服务器的系统变量中。
下载文件有效,但我发现即使文件已在 FTP 站点上开始更新,它仍在不断下载相同版本的文件。它似乎是从代理中获取缓存版本,而不是网络上的当前版本。
这是获取文件的代码:
request = urllib2.Request(download_url)
response = urllib2.urlopen(request).read()
如何强制脚本通过代理获取当前文件,而不是缓存文件?
您可以尝试像 url 那样附加 ?foo=bar 的内容。
解决方案是添加 Cache-Control header:
request = urllib2.Request(download_url)
request.add_header('Cache-Control', 'max-age=0')
response = urllib2.urlopen(request).read()
假设代理服务器支持 header,即使 FTP 请求不支持 headers。