2

我正在尝试将文件上传/下载到本地 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] 由于目标机器主动拒绝,无法建立连接。

最初我以为是端口问题(连接时我没有从客户端指定端口),所以将服务器端口更改为 21,我认为这是默认端口。

运行服务器代码时,我收到防火墙警报,但是当我授予它正常运行的权限时。如何从客户端连接到服务器?

4

1 回答 1

1

我不确定''地址在服务器端会做什么。要么它首先是一个错误的值。或者它可能解析为与127.0.0.1. 您应该在服务器端和客户端使用相同的值。

我将从127.0.0.1服务器端开始。

address = ('127.0.0.1', 21)
于 2020-05-05T06:07:55.480 回答