无法连接到FTP服务器
我无法连接到FTP服务器,出现了以下错误:
vmware@localhost ~]$ python try_ftp.py
Traceback (most recent call last):
File "try_ftp.py", line 5, in <module>
f = ftplib.FTP('ftp.python.org')
File "/usr/lib/python2.6/ftplib.py", line 116, in __init__
self.connect(host)
File "/usr/lib/python2.6/ftplib.py", line 131, in connect
self.sock = socket.create_connection((self.host, self.port), self.timeout)
File "/usr/lib/python2.6/socket.py", line 567, in create_connection
raise error, msg
socket.error: [Errno 101] Network is unreachable
我正在写一段非常简单的代码
import ftplib
f = ftplib.FTP('ftp.python.org')
f.login('anonymous','sausaxen@xyz.com')
f.dir()
f.retrlines('RETR motd')
f.quit()
我检查了我的代理设置,发现它设置为“系统代理设置”
请问我该怎么办。
谢谢,
萨姆
3 个回答
0
试着对 "ftp.python.org" 这个地址进行 ping 测试。
如果你需要通过代理服务器来连接,记得检查一下你的环境变量中是否设置了 ftp_proxy
。通常,我会明确地设置代理。
另外,你也可以尝试使用 httplib 或者 requests 这个库。
1
地址 ftp.python.org
似乎有问题。
更新:使用 f = ftplib.FTP('ftp.python.org')
时出现了错误信息,但用 ping 命令却能正常连接。
2
[torxed@archie ~]$ telnet ftp.python.org 21
Trying 82.94.164.162...
Connection failed: Connection refused
Trying 2001:888:2000:d::a2...
telnet: Unable to connect to remote host: Network is unreachable
[torxed@archie ~]$ python
Python 3.3.5 (default, Mar 10 2014, 03:21:31)
[GCC 4.8.2 20140206 (prerelease)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ftplib
>>> f = ftplib.FTP('ftp.acc.umu.se')
>>>
问题不在于主机名本身(你提到的ping命令可以正常工作),而是默认的21号端口有问题。或者说,他们在那个主机上根本没有运行标准的FTP服务器,而是用HTTP作为传输方式:https://www.python.org/ftp/python/
你可以试试ftp.acc.umu.se这个地址。