2014-05-07 102 views
0

如果您嘗試訪問ftp.yealink.com你會得到一個消息說:如何獲取服務器消息?

服務器ftp://ftp.yealink.com:21需要用戶名和密碼。

如何使用C#接收上述文本?

可以通過WebClient類來完成嗎?

編輯:我想你們有些人誤解了我。我不想連接到FTP服務器,或處理異常。我想要的是一個字符串,其值爲:「服務器ftp://ftp.yealink.com:21需要用戶名和密碼。」

+0

你有沒有嘗試連接到FTP服務器?你有什麼嘗試? –

+0

你可以看看'FtpWebRequest'庫:http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.aspx –

回答

0

連接時,您將收到一個WebExceptionStatusCode421。這意味着Not authorized。處理異常並重試。

鑑於你所置評論,我認爲你正在尋找WelcomeMessageBannerMessage從響應。

+0

@ user3296337:根據你的評論更新我的答案。 –

0

如果使用WebClient類連接到FTP站點,你需要創建一個NetworkCredentials實例來存儲您的登錄信息(用戶名,密碼):

var client = new WebClient { Credentials = new NetworkCredential("username", "password") }; 

try 
{ 
    var data = client.DownloadData(<some uri to a file path on the ftp site>); 
    ... 
} 
catch (WebException e) 
{ 
    // handle any exceptions 
} 

更多信息可以在這裏找到:http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.aspx

編輯:

你澄清,你要尋找的FTP鏈接,當點擊在瀏覽器中顯示的彈出式文本。 「The Server ...需要用戶名和密碼」的文本字符串由您的瀏覽器(Chrome)生成。 Firefox會彈出一個消息框,提示「輸入用戶名和密碼...」,然後Safari會提示「輸入服務器的名稱和密碼...」。您嘗試捕獲的文本不是由ftp服務器輸出的。

+0

是的,但有時候這個消息框還有其他消息。我看到一個FTP說:「請注意服務器在幾天內關閉......輸入用戶名和密碼」。我如何得到這個消息? – user3296337

+1

'FtpWebResponse'類有一個'BannerMessage'屬性,它是服務器在驗證之前發送給客戶端的消息 - 這可能是你正在尋找的東西:http://msdn.microsoft.com/en-us /library/system.net.ftpwebresponse.bannermessage(v=vs.110).aspx – matt

相關問題