我正在通过Http上的MultiThreadingDownloader
工作。所以我必须使用HttpWebRequest
来获得部分请求。该应用程序适用于几乎所有的URL。但有时,试图得到回应时,它抛出异常或错误的工作(如ContentLength
返回-1,TSL/SSL安全例外,cookie的必需的链接)是否有一种方法可以发送HttpWebRequest来下载所有url并处理所有异常?
我对客户机没有足够的知识服务器关系,所以我不能处理所有的异常。
我目前使用这种方法:
public static HttpWebRequest SendRequest(string url)
{
HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest;
req.AllowAutoRedirect = true;
req.Accept = "*/*";
req.Method = "GET";
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
req.ServicePoint.ConnectionLimit = 8;
req.ServicePoint.Expect100Continue = true;
req.ProtocolVersion = HttpVersion.Version10;
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;
return req;
}
我应该的HttpWebRequest
包含拿到HttpWebResponse
成功地为所有URL来源是什么?正如我所说,我的方法并不适用于所有人。该方法的详细文档或代码块可以帮助我。
那么,我怎么知道服务器需要什么来成功回复我的请求? –
你不能因为它是任意代码。你可以询问用户或者试试。 – usr