我已经使用ftplib创建了一个FTP客户端。我在一台Ubuntu虚拟机上运行服务器,在另一台虚拟机上运行客户机。我希望使用ftplib连接到服务器,并通过以下方式实现:
host = "IP address of the server"
port = "Port number of the server"
ftpc = FTP()
ftpc.connect(host, port)我得到了以下错误!
Traceback (most recent call last):
File "./client.py", line 54, in <module>
ftpc.connect(host, port)
File "/usr/lib/python2.7/ftplib.py", line 132, in connect
self.sock = socket.create_connection((self.host, self.port), self.timeout)
File "/usr/lib/python2.7/socket.py", line 571, in create_connection
raise err
socket.error: [Errno 111] Connection refused当我浏览python的文档时,我可以看到ftplib只与FTP中的域名(“域名”)一起使用。可以使用IP地址代替域名吗?在我的情况下,我无法理解这个错误。如果有人能帮我,那就太好了。
另外,如果我在我的服务器上使用端口21,我会收到套接字错误:连接被拒绝。如何将端口21用于FTP服务器?
谢谢。
发布于 2015-11-24 02:29:33
似乎您正在尝试使用ftplib连接到SFTP服务器,它会给出连接被拒绝的错误。尝试使用pysftp而不是ftplib,看看它是否有效。
在虚拟机上,通过在控制台上键入ftp和sftp命令进行测试。您将了解机器在哪个服务器上运行,即ftp或sftp。
发布于 2022-01-20 10:02:07
为了解决这个问题,我安装并配置了vsftpd:
https://stackoverflow.com/questions/16428401
复制相似问题