-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