我有一个Python 2.7脚本,它通过我们的公司代理从公共FTP站点下载ZIP文件。代理在我的Windows服务器的系统变量中设置。
下载文件是有效的,除非我发现它不断下载相同版本的文件,即使文件在FTP站点上开始更新。它似乎是从代理中获取缓存版本,而不是网络上的当前版本。
以下是获取文件的代码:
request = urllib2.Request(download_url)
response = urllib2.urlopen(request).read()
如何强制脚本通过代理获取当前文件,而不是缓存?
答案 0 :(得分:0)
您可以尝试添加?foo = bar的网址。
答案 1 :(得分:0)
解决方案是添加Cache-Control标头:
request = urllib2.Request(download_url)
request.add_header('Cache-Control', 'max-age=0')
response = urllib2.urlopen(request).read()
假设代理服务器正在尊重标题,即使FTP请求不支持标题。