urllib.urlretrieve

时间:2015-10-28 12:06:35

标签: python proxy ftp urllib

我正在使用urllib.urlretrieve使用匿名模式在远程FTP站点上下载文件。

ftp://ftp.{DOMAIN}/register/{FOLDER1}/{FOLDER2}/{FOLDER3}/{FILE}

import urllib
urllib.urlretrieve(FILE_TO_DOWNLOAD, DESTINATION_FILE)

当它在我的公司计算机上运行时,它给了我一个错误如下:

IOError: [Errno ftp error] proxy support for ftp protocol currently not implemented

我知道代码中缺少代理设置,但我不知道在何处以及如何设置我的代理设置。

1 个答案:

答案 0 :(得分:1)

如何设置代理:

Python 2.7.10

使用代理传递给urlopen。请参阅文档erase

# Use http://www.someproxy.com:3128 for http proxying
proxies = {'http': 'http://www.someproxy.com:3128'}
filehandle = urllib.urlopen(some_url, proxies=proxies)

或者,在启动python解释器之前设置http_proxy环境变量。

% http_proxy="http://www.someproxy.com:3128"
% export http_proxy
% python

Python 3.5

这是正确的文档here

import urllib.request
proxies = {'http': 'http://proxy.example.com:8080/'}
opener = urllib.request.FancyURLopener(proxies)
with opener.open("http://www.python.org") as f:
f.read().decode('utf-8')