远程服务器返回错误:(404)Not Found。在做一个HttpWebResponse时

时间:2015-05-08 16:02:59

标签: c# .net asp.net-mvc web httpwebrequest

我的代码存在问题,因为我必须验证某些网站的状态才能通知他们是否正常工作。我可以成功检查多个网站,但是对于特定的网站,它总是返回404 Not Found,即使网站已启动,如果我尝试在浏览器上打开页面,我可以查看它,这是我的代码:

 public HttpStatusCode GetHeaders(string url, bool proxyNeeded)
    {

        HttpStatusCode result = default(HttpStatusCode);

        var request = (HttpWebRequest)WebRequest.Create(url);
        request.Method = "HEAD";

        request.Credentials = new NetworkCredential(username, password, domain);

        if (proxyNeeded)
        {
            IWebProxy proxy = new WebProxy("127.0.0.1", port_number);
            proxy.Credentials = new NetworkCredential(username, password, domain);
            request.Proxy = proxy;
        }
        try
        {
            var response = (HttpWebResponse) request.GetResponse();
            result = response.StatusCode;
            response.Close();
        }
        catch (WebException e)
        {
            if (e.Status == WebExceptionStatus.ProtocolError)
            {
                WebResponse resp = e.Response;
                using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
                {
                    //TODO: capture the exception!!
                }
            }
        }
        return result;
    }

异常并没有告诉我与“未找到”有什么不同,这让我感到困惑,因为我不知道在哪里可以看。网址失败的是:http://cbprod-app/InterAction/home

如果我在没有设置代理的情况下请求页面,则返回“401未授权”,因为它需要显示代理身份验证,我的想法已经用完了,对于我做错了什么建议?

非常感谢你。

0 个答案:

没有答案