2013-02-28 123 views
0

我正在使用ftplib模塊並希望連接到本地主機上的FTP。我使用下面的代碼示例:拒絕連接FTP python 2.7

import ftplib 
f = ftplib.FTP() 
f.connect("localhost") 
f.login() 

ls=[] 
f.retrlines('MLSD',ls.append) 
for entry in ls: 
    print entry 

它給了我一個socket.error: [Errno 61] Connection refused

如何連接到我的本地和我到底做錯了什麼?最終,我希望使用ftplib將文件從客戶端代碼發送到服務器代碼,兩者都運行在同一臺機器上。這是爲了一個項目,我知道在現實中你不會在同一臺機器上。

+0

首先,請報告完整的回溯,或者至少在哪一行有錯誤,而不是錯誤消息。 – abarnert 2013-02-28 18:23:18

+0

其次,你有本地機器上運行的FTP服務器嗎?如果不是,顯然你不能連接到一個不存在的服務器。 – abarnert 2013-02-28 18:23:36

+1

如果你沒有一個運行,你的操作系統可能會有一個(我相信許多Windows版本的IIS/PWS包括FTP),或者可能有一個標準的方式來獲得一個(例如,在大多數Linux發行版,有很多可以通過apt/rpm/etc選擇),或者你可以搜索一個手動安裝。 – abarnert 2013-02-28 18:25:26

回答

0

我猜測socket.error異常發生在第3行,你有connect()

Connection refused表示操作系統或防火牆拒絕連接。最可能的原因是您實際上沒有在本地計算機上運行FTP服務器。

你沒有說你是否做,你沒有說你使用的是什麼操作系統。但是默認情況下,操作系統沒有安裝並運行FTP服務器。所以你需要安裝一個compatible FTP server。一個很好的考慮是FileZilla服務器。