如果您嘗試訪問ftp.yealink.com
你會得到一個消息說:如何獲取服務器消息?
服務器ftp://ftp.yealink.com:21需要用戶名和密碼。
如何使用C#接收上述文本?
可以通過WebClient類來完成嗎?
編輯:我想你們有些人誤解了我。我不想連接到FTP服務器,或處理異常。我想要的是一個字符串,其值爲:「服務器ftp://ftp.yealink.com:21需要用戶名和密碼。」
如果您嘗試訪問ftp.yealink.com
你會得到一個消息說:如何獲取服務器消息?
服務器ftp://ftp.yealink.com:21需要用戶名和密碼。
如何使用C#接收上述文本?
可以通過WebClient類來完成嗎?
編輯:我想你們有些人誤解了我。我不想連接到FTP服務器,或處理異常。我想要的是一個字符串,其值爲:「服務器ftp://ftp.yealink.com:21需要用戶名和密碼。」
連接時,您將收到一個WebException
與StatusCode
421
。這意味着Not authorized
。處理異常並重試。
鑑於你所置評論,我認爲你正在尋找WelcomeMessage
和BannerMessage
從響應。
@ user3296337:根據你的評論更新我的答案。 –
如果使用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服務器輸出的。
是的,但有時候這個消息框還有其他消息。我看到一個FTP說:「請注意服務器在幾天內關閉......輸入用戶名和密碼」。我如何得到這個消息? – user3296337
'FtpWebResponse'類有一個'BannerMessage'屬性,它是服務器在驗證之前發送給客戶端的消息 - 這可能是你正在尋找的東西:http://msdn.microsoft.com/en-us /library/system.net.ftpwebresponse.bannermessage(v=vs.110).aspx – matt
你有沒有嘗試連接到FTP服務器?你有什麼嘗試? –
你可以看看'FtpWebRequest'庫:http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.aspx –