C# System.Net.WebException

C# System.Net.WebException,c#,exception,webrequest,C#,Exception,Webrequest,在我看来,WebRequest.Createurl很快就会失败 说明: 在其失败或抛出System.Net.WebException的url上。。。将该url复制粘贴到浏览器中似乎有效。浏览器给出响应!。。有时会出现约10秒的可忽略延迟。。但WebRequest在不到3秒内引发异常 失败的有效url示例: 如果这有任何意义的话,firefox在浏览器的这个url上的反应要慢10倍,有时firefox在加载这样一个url时也会崩溃 那么问题是为什么WebRequest这么快就失败了??我希望它能更

在我看来,WebRequest.Createurl很快就会失败

说明:

在其失败或抛出System.Net.WebException的url上。。。将该url复制粘贴到浏览器中似乎有效。浏览器给出响应!。。有时会出现约10秒的可忽略延迟。。但WebRequest在不到3秒内引发异常 失败的有效url示例:

如果这有任何意义的话,firefox在浏览器的这个url上的反应要慢10倍,有时firefox在加载这样一个url时也会崩溃 那么问题是为什么WebRequest这么快就失败了??我希望它能更努力地从URL获取响应

这就是在这里捕获exeption的方法,我检查url是否有效或者~tracker是否活动

public static bool isURLValid(string url)
    {
        try
        {
            HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
            request.Method = "HEAD";
            HttpWebResponse response = request.GetResponse() as HttpWebResponse;
            //Returns TURE if the Status code == 200
            return (response.StatusCode == HttpStatusCode.OK);
        }
        catch (Exception ex) //(WebException ex)
        {
            Logger.e(TAG, "isURLValid", ex);
            return false;  //Any exception will returns false.
        }
    }
如果有效的话,我就知道了。。我知道……双重接触。。但仍然

inputStream = WebRequest.Create(fullURL).GetResponse().GetResponseStream();

所以。。想法?

我根本无法在浏览器中打开url,当我在LINQPad中运行代码时,它也会尝试大约20秒,然后消失。@pulancheck1988,看起来您忘记发布关于您获得的WebException的信息了……什么是异常?如果WebRequest.Create失败,则创建请求时会出现问题。如果request.GetResponse失败,则从服务器获取响应时出错。但是我们无法帮助您,除非我们知道这两个方法中的哪一个会引发异常。对于request.Method=HEAD,请求总是失败。如果request.Method=GET与使用Firefox的相同,我会立即收到响应。看来这个服务器不喜欢HEAD方法。@CrazyDart:Noop.。一点也不喜欢。学校项目