2014-01-07 202 views
2

我有一個程序將文本文件發送到FTP服務器。該代碼是:將文件上傳到FTP服務器時出錯

def sendBug(): 

    session = ftplib.FTP('ftp://xxxx.xxxx.xxxx.xxxx', " ", " ") 
    bugfile = open(bugreport.txt, "r") 
    session.storlines("STOR bugreport.txt", bugfile) 
    bugfile.close() 
    session.quit() 

然而,當我運行該腳本,我得到這樣的:

Traceback (most recent call last): 
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1470, in __call__ 
return self.func(*args) 
File "C:\Users\Nitro\Desktop\py2exe stuff\school firewall ui.py", line 46, in getnews 
ftp= ftplib.FTP(server) 
File "C:\Python27\lib\ftplib.py", line 120, in __init__ 
self.connect(host) 
File "C:\Python27\lib\ftplib.py", line 135, in connect 
self.sock = socket.create_connection((self.host, self.port), self.timeout) 
File "C:\Python27\lib\socket.py", line 553, in create_connection 
for res in getaddrinfo(host, port, 0, SOCK_STREAM): 
gaierror: [Errno 11004] getaddrinfo failed 

任何方式解決這一問題?我用IIS託管一個ftp服務器。學校防火牆用戶界面是我的程序。

+0

什麼是'xxxx.xxxx.xxxx.xxxx'?還請添加整個追溯所以更容易理解哪條線路導致錯誤。 –

+0

@ Kobi K這是我的FTP服務器IP地址,我編輯了這篇文章。 – user3167683

+0

您的用戶名和密碼是「」(空格)? –

回答

2

爲第一服務器產品線doen't需要"ftp://"

Basiclly gaierror: [Errno 11004] getaddrinfo failed意味着,FTP模塊都可以不懂你給了他'ftp://xxxx.xxxx.xxxx.xxxx'地址 - 主機名。

gaierror從文檔:

這引發異常地址相關的錯誤,爲的getaddrinfo()和getnameinfo()。伴隨的值是表示由庫調用返回的錯誤的一對(錯誤,字符串)。字符串表示由gai_strerror()C函數返回的錯誤描述。錯誤值將與此模塊中定義的EAI_ *常量之一匹配。

你傳入ftplib.FTP()與主機,用戶名和密碼(用戶和密碼在你的情況是空間)

如果它應該是匿名的,只需使用:

ftp = ftplib.FTP('you address')  
ftp.login() 

如果仍然沒有按」嘗試ping你的地址或嘗試連接一些已知的FTP來低估問題出在哪裏。

你也可以試試這個link這是非常有用的

有關蟒蛇FTP更多信息嘗試docs