我编写了此方法来测试带有代理的某些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分钟。