作为一个 python 新手,我想在我的两台计算机之间建立一个 FTP 连接。(一个作为客户端,一个作为服务器)。每件事都很好,但只有当我在具有本地 IP 地址的同一网络上使用它们时,我的问题是:我如何将我的计算机用作 FTP 服务器并通过不同的网络与另一台服务器访问他?(使用公共 IP 地址)
我的服务器计算机上的代码:
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
authorizer = DummyAuthorizer()
authorizer.add_user("username", "password", "C:\\Users\\someone\\somewhere\\FTP", perm="rl")
handler = FTPHandler
handler.authorizer = authorizer
server = FTPServer(("192.162.1.101", 21), handler)
server.serve_forever()
以及我用来获取文件的代码:
import ftplib
import shutil
def download (ftp, directory, file):
f = open(file,"wb")
data = ftp.retrbinary("RETR %s" % file,f.write)
f = open(file, "r")
shutil.copy2(f,"D:\\Users\\user-pc\\Desktop")
f.close()
ftp = ftplib.FTP("192.162.1.101","username", "password")
download(ftp, "FTP", "1.jpg")
raw_input()