【发布时间】:2019-08-01 19:46:33
【问题描述】:
我正在尝试使用官方 Python 文档 (https://docs.python.org/2/library/ftplib.html) 中显示的非常基本的示例连接到 ftp.debian.org,但我不断收到错误消息。希望有人能指出我哪里出错了。
import socket
from ftplib import FTP
try:
print("Attempting login...")
ftp = FTP('ftp.debian.org')
ftp.login()
# print("Listing directory...")
# ftp.retrlines('LIST')
# print("Ending the connection...")
# ftp.quit()
except socket.timeout:
print("Socket timeout caught")
finally:
print("FTP connection test has ended.")
我收到的错误如下:
回溯(最近一次通话):
TimeoutError: [WinError 10060] 连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应
【问题讨论】:
-
您的代码看起来不错。不过,服务器
ftp.debian.org在端口 21 上没有 FTP 服务器。如果您使用ftp.redhat.com尝试相同的代码,它可以工作。 -
@Tyger:谢谢你的链接。看起来 OP 有一个超时错误,但我不认为服务器正在侦听端口 21,正如上面 Bjorn 所指出的那样。
-
@BjörnMarschollek:感谢您的提醒。我尝试使用 ftp.redhat.com 并得到相同的错误,尽管服务器在端口 21 上侦听。我相信我的防火墙或某些安全程序阻止我使用 FTP(我正在运行此脚本顺便说一句,我的工作电脑)。
标签: python python-3.x pycharm