我和我的朋友已经承担了一个小项目作为我们今年夏天的计划,并且我们试图使用python作为项目的一部分。我们可以通过同一网络成功传输文件,但我们不知道如何在通过互联网连接时(通过不同的网络)传输文件。我已经添加了代码供您参考。我对FTP和python都是新手,如果有人能帮助我们,那将会很棒。在python中通过不同网络的FTP
服务器端程序:
#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之后。
你是NAT /网关后面? – kamjagin
@ kamjagin,是的。 :) – Denzil
太棒了,那么rmunn的答案可能会做的伎俩:) – kamjagin