通过代理服务器从指定URL保存文件到桌面

2 投票
1 回答
2851 浏览
提问于 2025-04-16 18:14

我的问题是,我想要保存一个通过网址给出的文件。比如这个网址是这样的:'http://www.somesitename.com/Something/filename.fileextension'。举个例子,

some_url = 'http://www.fordantitrust.com/files/python.pdf'

filename = myfile.pdf

我想下载这个文件。我知道如果你的系统和请求的网址之间没有代理的话,可以很简单地用urllib.urlretrieve(some_url, filename)来完成这个操作。

但我有一个代理,所以每次我想下载这个文件时,都需要通过这个代理。我不知道该怎么做。

任何帮助都很感激。

1 个回答

2

从Python 2.6开始,urllib这个库已经不再推荐使用了,建议使用urllib2。一般来说,如果你设置了全局代理,urllib2会自动处理代理的相关事宜。如果没有设置全局代理,可以尝试使用urllib2.proxyhandler来手动设置你的代理。

下面是来自Python文档的示例代码:

proxy_handler = urllib2.ProxyHandler({'http': 'http://www.example.com:3128/'})
proxy_auth_handler = urllib2.ProxyBasicAuthHandler()
proxy_auth_handler.add_password('realm', 'host', 'username', 'password')

opener = urllib2.build_opener(proxy_handler, proxy_auth_handler)
# This time, rather than install the OpenerDirector, we use it directly:
opener.open('http://www.example.com/login.html')

撰写回答