2015-08-30 131 views
1

我嘗試了所有我能想到的事情。我正在嘗試從FTP服務器獲取目錄列表。我可以從FileZilla登錄和列出/下載。獲取錯誤530使用FtpWebRequest連接時未登錄

我的密碼,看起來像這樣(字母改變):

c0dlWTRBOZc= 

我一直在使用Normalize()嘗試和不使用它。

它在GetResponse()行錯誤。

下面是代碼:

FtpWebRequest request = (FtpWebRequest)WebRequest.Create(thisConnection.remoteFTP_URI); 
request.KeepAlive = true; 
request.UsePassive = true; 
request.UseBinary = true; 
request.Method = WebRequestMethods.Ftp.ListDirectory; 
request.Credentials = new NetworkCredential(thisConnection.userName.Normalize(),thisConnection.passWord.Normalize()); 
FtpWebResponse response = (FtpWebResponse)request.GetResponse(); 

我用這完全一樣的代碼沒有問題,其他的FTP服務器。我沒有直接控制服務器,所以更改密碼或其他服務器設置會有問題。

謝謝你的幫助!

+0

[啓用'FtpWebRequest'日誌記錄](http://stackoverflow.com/q/9664650/850848)並將日誌包含到您的問題中。包括FileZilla日誌作爲比較(實際上是日誌文件,而不是來自GUI的消息日誌)。 –

回答

1

您的密碼字符串看起來像base64編碼。

FileZilla在其配置文件(sitemanager.xml)中使用的實際形式是什麼。

所以我的猜測是你已經從sitemanager.xml複製了編碼密碼​​,並且你試圖在FtpWebRequest中用它作爲文字密碼。

請確保您使用實際的文字密碼。如果您不記得它,請使用一些base64解碼器。
你會​​。

+0

聖牛......你完全正確。我直接從filezilla中導出xml文件進行復制和粘貼。我不知道它是如何工作的。我真的應該抓住這一點,非常感謝你的銳利眼睛!在我的辯護中(這裏沒有什麼),filezilla過去並不以這種方式存儲它們,或者至少我有一個帶有純文本密碼的xml的舊版本,包括這個。 –

+0

不客氣。是的,最近在3.10.2-rc2(2015-02-25)中,FileZilla切換到了base-64編碼密碼。 –

相關問題