我正在使用python FTP服务器和客户端程序。我需要在与本地计算机连接在同一网络上的远程计算机上运行 python FTP服务器。 FTP客户端将从本地计算机运行,我需要将ftp服务器与在本地计算机上运行的ftp客户端连接。
请帮忙!
这是我的ftpserver.py:
from pyftpdlib.servers import FTPServer
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
authorizer = DummyAuthorizer()
authorizer.add_user("lokesh", "123", "current_dir", perm="elradfmw")
authorizer.add_anonymous("curent_dir", perm="elradfmw")
handler = FTPHandler
handler.authorizer = authorizer
server=FTPServer(("localhost",8080),handler)
server.serve_forever()
这是我的ftpclient.py,需要与上述服务器连接。
from ftplib import FTP
ftp = FTP('')
host='localhost'
port=8080
ftp.connect(host,port)
ftp.login()
print(ftp.getwelcome())
print('Current Directory ',ftp.pwd())
ftp.dir()
ftp.quit()
当我在同一台机器上测试我的服务器和客户端时,它工作正常。但是当我在另一台机器上运行相同的服务器并尝试连接我的客户端时,它给了我错误:
错误:[Errno 10061]因为目标无法建立连接 机器主动拒绝了它
答案 0 :(得分:1)
如果您在另一台计算机上运行客户端,则必须连接到服务器的主机,而不是“localhost”:
host='<server_host>'
在Windows服务器计算机上运行ipconfig
并查找“IPv4地址”。
答案 1 :(得分:0)
将ftpclient文件中的port = 1027
替换为port = 8080
。