-1
作为一个蟒蛇新手我想玩,并创建我的两台电脑之间的FTP连接。 (一个作为客户端,另一个作为服务器)。每一件事情都很好,但只有当我在同一个本地IP地址的网络上使用它们时,我的问题是:如何将我的计算机用作FTP服务器,并通过不同网络访问另一台计算机? (使用公共IP地址)FTP python驱动的服务器
代码我的服务器计算机上:
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()
正如Burhan所说,你的代码看起来没问题。您需要在路由器上转发相应的FTP端口。在这里寻求帮助:http://portforward.com/这个网站有一个路由器列表,找到你的并按照说明转发端口。 – b10hazard 2013-05-14 16:29:37