我正在尝试进行 python ftp 服务器和客户端连接,服务器文件在 Fedora VM 上运行(使用 VirtualBox),客户端在主机 Windows 10 上运行。服务器似乎正在运行,但客户端没有连接到服务器并在最后抛出 EOFerror。以下是代码和输出说明。
在来宾 VM Fedora 上运行的一个服务器文件
ftpserver.py:
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
import socket
ip=socket.gethostbyname(socket.gethostname())
print(ip)
authorizer = DummyAuthorizer()
authorizer.add_user("user", "12345", "/root", perm="elradfmw")
authorizer.add_anonymous("/root/pythonProgs/", perm="elradfmw")
handler =FTPHandler
handler.authorizer = authorizer
server = FTPServer((ip, 21), handler)
while True:
server.serve_forever()
在主机 Windows 10 上运行的一个客户端文件
ftpclient.py:
from ftplib import FTP
ftp = FTP()
ftp.connect("127.0.0.1",21)
ftp.login("user", "12345")
#ftp.cwd('directory_name') #replace with your directory
ftp.retrlines("LIST")
Fedora VM 上的 ifconfig 和 ftpserver 输出: Fedora VM 快照上的 ifconfig 和 ftpserver.py 输出
主机 Windows 10 上的 ftpclient.py 输出: 主机Windows 10 快照上的 ftpclient.py 输出
我也像这样为我的虚拟机 fedora完成了端口转发: port forwarding for fedora VM
这里有什么问题 ?我现在该怎么办 ?请帮忙!