私と私の友人は、夏の計画として小さなプロジェクトに着手しており、プロジェクトの一部として 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の背後で働いています。