1

我正在尝试登录仅在网络中本地运行的 FTP 服务器。为此,我必须使用我的 ip 地址作为服务器地址(参见下面的代码)。但是每次我得到一个gaierror: [Errno 11004] getaddrinfo failed错误。

任何人都可以查看我的代码,看看我是否犯了任何可能导致此地址问题的错误?我也可以从我的浏览器很好地登录 ftp 服务器,这样我就知道服务器已启动并正常运行,也允许匿名登录服务器。

#import the ftp lib.
from ftplib import FTP
#enter the address of the ftp server to use, use ip address since server is ran locally
ftp = FTP('ftp://192.168.1.130')
#logs into the ftp server
ftp.login()
4

2 回答 2

5

您包含的协议的主机名不正确。发生的事情是图书馆试图解析“ftp://192.168.1.130”(而不是“192.168.1.130”),这不是一个有效的地址。

#Wrong
ftp = FTP('ftp://192.168.1.130')
#Right
ftp = FTP('192.168.1.130')

http://docs.python.org/library/ftplib.html

于 2012-09-07T21:09:19.113 回答
1

根据ftplib 文档,您应该只给他主机地址/IP,而不是代表 URL 的字符串。所以在这里,你应该简单地做:

ftp = FTP('192.168.1.130')
于 2012-09-07T21:09:34.883 回答