-1

作为一个 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()
4

1 回答 1

1

这与 Python 无关。您需要从路由器转发一个端口(选择 1024 以上的任何端口)到21端口192.162.1.101;然后将您的客户端连接到您的 ISP 提供的公共 IP。

于 2013-05-14T09:55:00.497 回答