Webrequest获得的超时超过所有超时的总和

时间:2019-05-21 13:03:52

标签: c# proxy timeout httpwebrequest webrequest

我编写了此方法来测试带有代理的某些Urls,但是,即使我将我知道的所有超时属性都设置为20秒,有时也需要3到4分钟才能完成。

private bool TestUrl(string url, WebProxy webProxy, string userAgent)
{
    try
    {
        var request = (HttpWebRequest)WebRequest.Create(url);
        request.Method = "GET";
        request.Timeout = 20 * 1000;
        request.ReadWriteTimeout = 20 * 1000;
        request.ContinueTimeout = 20 * 1000;
        request.Accept = "*";
        request.UserAgent = userAgent;
        request.Proxy = webProxy;
        using (var response = (HttpWebResponse)request.GetResponse())
        {
            if (response.StatusCode != HttpStatusCode.OK)
            {
                return false;
            }
        }
        return true;
    }
    catch (Exception ex)
    {
        Log.Test(ex.ToString());
        return false;
    }
}

我希望能在20到60秒之间看到结果,但是对于某些代理,大约需要3到4分钟。

0 个答案:

没有答案