我无法连接到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()
我检查了我的代理设置,但它设置为“系统代理设置”
请建议我该怎么做。
谢谢, 萨姆
答案 0 :(得分: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
它没有那么糟糕的主机名(你提到ping工作),但默认端口21是坏的。或者他们根本没有在该主机上运行标准FTP服务器,而是他们使用HTTP作为传输:https://www.python.org/ftp/python/
请尝试反对 ftp.acc.umu.se 。
[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')
>>>
答案 1 :(得分:1)
地址ftp.python.org
似乎不好
编辑:
f = ftplib.FTP('ftp.python.org')
给出错误消息,但ping有效。
答案 2 :(得分:0)
尝试ping&#34; ftp.python.org&#34;地址。
如果您需要通过代理,请检查您是否已将ftp_proxy
设置为环境变量。通常,我所做的是明确设置代理。
另外,请尝试使用httplib或requests