getResponse()中的WebException

时间:2010-12-13 14:26:35

标签: c# asp.net exception-handling

这里是我的代码 -

private string HttpContent(string url)
{
    WebRequest objRequest = System.Net.HttpWebRequest.Create(url);
    StreamReader sr = new StreamReader(objRequest.GetResponse().GetResponseStream());
    string result = sr.ReadToEnd();
    sr.Close();
    return result;
}

异常来自objRequest.GetResponse()的第二行。如果我打开它快速观察窗口我得到:

  
    

'objRequest.GetResponse()'抛出类型'System.Net.WebException'的异常
    “远程服务器返回错误:(404)Not Found。”

  

5 个答案:

答案 0 :(得分:4)

这看起来非常明显,真的;检查您的URL以确保您到达正确的位置,或确保您的目标服务器实际上正在运行。

答案 1 :(得分:1)

它说的是:

  

远程服务器返回错误:(404)Not Found。

您的网址在服务器上不存在,无法识别。您的客户端代码不是最佳的,但应该有效。

答案 2 :(得分:-1)

此错误消息正如它所声明的那样,您请求的URL以404错误的形式返回,这意味着找不到该页面。

现在他们可能会做一些奇怪的“重定向”,所以你可能会尝试设置

objRequest.AllowAutoRedirect = true;

看看是否有帮助。然而,根据404而不是301或302的反应,我不确定它会有什么不同。

答案 3 :(得分:-1)

尝试从浏览器中致电Url,如果您收到回复,您将确保Url正在运行。也许在您的计算机中有代理,您的代码中有代理传递代理。

这可能会对你有所帮助

答案 4 :(得分:-1)

问题是您传递给method()的路径[url]不正确。

网址可能不正确或检查网址是否有效。如果你不确定那些应该总是正确的那么你可以使用try catch。