我和我的朋友已经开展了一个小项目作为我们夏季的计划,我们试图使用 python 的 FTP 作为项目的一部分。我们可以通过同一网络成功传输文件,但我们不知道当我们通过互联网(通过不同的网络)连接时如何传输文件。我已添加代码供您参考。我是 FTP 和 python 的新手,如果有人可以帮助我们,那就太好了。
服务器端程序:
#server.py
from pyftpdlib.ftpserver import DummyAuthorizer
from pyftpdlib.ftpserver import FTPHandler
from pyftpdlib.ftpserver import FTPServer
authorizer = DummyAuthorizer()
authorizer.add_user("user", "12345", "/", perm="elradfmw")
authorizer.add_anonymous("/")
handler = FTPHandler
handler.authorizer = authorizer
server = FTPServer(("xxx.xxx.x.x", 2121), handler)
server.serve_forever()
和客户端程序:
#client.py
import ftplib
fileTransfer = ftplib.FTP()
fileTransfer.connect("xxx.xxx.x.x",2121)
fileTransfer.login('user','12345')
fileTransfer.retrlines('LIST')
fileTransfer.cwd('/home/royal/MyPrograms/Python')
fileTransfer.retrbinary('RETR Florida.mp3',open('club.mp3','wb').write)
我在 NAT 后面工作。