我正在尝试进行python ftp服务器和客户端连接,在Fedora VM上运行服务器文件(使用VirtualBox),在主机Windows 10上运行客户端。 服务器似乎正在运行,但客户端没有连接到服务器并最终抛出EOFerror。以下是代码和输出说明。
在Guest 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()
在Host 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输出: ifconfig and ftpserver.py output on Fedora VM snapshot
主机Windows 10上的ftpclient.py输出: ftpclient.py output on Host Windows 10 snapshot
我已经为我的虚拟机fedora 做了端口转发,就像这样: port forwarding for fedora VM
这里有什么问题?我现在应该怎么做 ? 请帮忙!