无法连接到本地 pyftpdlib FTP 服务器:[WinError 10061] 无法建立连接
Cant connect to local pyftpdlib FTP server: [WinError 10061] No connection could be made
我正在尝试 upload/download 文件到本地 FTP 服务器,但它给了我标题中提到的错误。
对于我使用的服务器 pyftpdlib
:
import os
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
# instantiate a dummy authorizer
authorizer = DummyAuthorizer()
# instantiate anonymous user to current directory
authorizer.add_anonymous(os.getcwd())
# FTP handler class
handler = FTPHandler
handler.authorizer = authorizer
# setup server on localhost, port = 21
address = ('', 21)
server = FTPServer(address, handler)
# set a limit for connections
server.max_cons = 10
server.max_cons_per_ip = 3
# start ftp server
server.serve_forever()
这是客户端代码:
from ftplib import FTP
# connect to FTP server
client = FTP(host="127.0.0.1")
client.login()
# list the contents of directory
client.retrlines('LIST')
但是 FTP
构造函数抛出:
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it.
一开始我以为是端口问题(连接时我没有指定客户端的端口),所以将服务器端口改为21,我认为这是默认端口。
当运行 服务器代码时,我收到防火墙警报,但当我授予它权限时它运行正常。如何从客户端连接到服务器?
我不确定 ''
作为地址在服务器端有什么作用。要么它首先是一个错误的值。或者它可能解析为与 127.0.0.1
不同的 IP 地址。您应该在服务器端和客户端使用相同的值。
我将从服务器端的 127.0.0.1
开始。
address = ('127.0.0.1', 21)
我正在尝试 upload/download 文件到本地 FTP 服务器,但它给了我标题中提到的错误。
对于我使用的服务器 pyftpdlib
:
import os
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
# instantiate a dummy authorizer
authorizer = DummyAuthorizer()
# instantiate anonymous user to current directory
authorizer.add_anonymous(os.getcwd())
# FTP handler class
handler = FTPHandler
handler.authorizer = authorizer
# setup server on localhost, port = 21
address = ('', 21)
server = FTPServer(address, handler)
# set a limit for connections
server.max_cons = 10
server.max_cons_per_ip = 3
# start ftp server
server.serve_forever()
这是客户端代码:
from ftplib import FTP
# connect to FTP server
client = FTP(host="127.0.0.1")
client.login()
# list the contents of directory
client.retrlines('LIST')
但是 FTP
构造函数抛出:
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it.
一开始我以为是端口问题(连接时我没有指定客户端的端口),所以将服务器端口改为21,我认为这是默认端口。
当运行 服务器代码时,我收到防火墙警报,但当我授予它权限时它运行正常。如何从客户端连接到服务器?
我不确定 ''
作为地址在服务器端有什么作用。要么它首先是一个错误的值。或者它可能解析为与 127.0.0.1
不同的 IP 地址。您应该在服务器端和客户端使用相同的值。
我将从服务器端的 127.0.0.1
开始。
address = ('127.0.0.1', 21)