【问题标题】:How to connect remote Python FTP server to local Python FTP client如何将远程 Python FTP 服务器连接到本地 Python FTP 客户端
【发布时间】:2018-04-05 06:16:44
【问题描述】:

我正在使用 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] 无法建立连接,因为目标 机器主动拒绝了

【问题讨论】:

    标签: python python-2.7 ftp ftplib


    【解决方案1】:

    如果你在另一台机器上运行客户端,你必须连接到服务器的主机,而不是“localhost”:

    host='<server_host>'
    

    在您的 Windows 服务器计算机上运行 ipconfig 并查找“IPv4 地址”。

    【讨论】:

      【解决方案2】:

      在您的 ftpclient 文件中将 port = 1027 替换为 port = 8080。

      【讨论】:

        猜你喜欢
        • 2014-10-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-29
        • 1970-01-01
        相关资源
        最近更新 更多