如何获取服务器消息?

时间:2014-05-07 12:24:03

标签: c# ftp webclient

如果您尝试访问ftp.yealink.com,您将收到一条消息框说:

  

服务器ftp://ftp.yealink.com:21需要用户名和密码。

如何使用C#收到上述文字?

可以通过WebClient类完成吗?

编辑:我觉得有些人误解了我。我不是要连接到FTP服务器,或处理异常。我想要的只是一个带有值的字符串:“服务器ftp://ftp.yealink.com:21需要用户名和密码。”

2 个答案:

答案 0 :(得分:0)

连接后,您会收到WebException StatusCode 421。这意味着Not authorized。处理异常并重试。

根据您发表的评论,我认为您正在寻找响应中的WelcomeMessageBannerMessage

答案 1 :(得分: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链接时,您正在寻找浏览器中显示的弹出文本。 &#34;服务器...的文本字符串需要用户名和密码&#34;由您的浏览器生成(Chrome)。 Firefox弹出一个消息框,说明&#34;输入用户名和密码...&#34;和Safari说&#34;输入服务器的名称和密码......&#34;您尝试捕获的文本不会被ftp服务器输出。