protected override WebResponse GetWebResponse(WebRequest request) { //Force l'UserAgent dans la requête si il n'est pas défini pour que Cloudflare accepte la requête if (request.Headers[HttpRequestHeader.UserAgent] == null) { (request as HttpWebRequest).UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0"; } try { _response = base.GetWebResponse(request); } catch (WebException ex) { _response = ex.Response; HttpWebResponse error = (HttpWebResponse)_response; //Si l'exeption est du à l'erreur 503 de cloudflare if (CFInterpreter.IsCloudflare(error)) { _response = BypassCloudflare((HttpWebRequest)request, error); } } return(_response); }
protected override WebResponse GetWebResponse(WebRequest request, IAsyncResult result) { try { _response = base.GetWebResponse(request, result); } catch (WebException ex) { _response = ex.Response; HttpWebResponse error = (HttpWebResponse)_response; //Si l'exeption est du à l'erreur 503 de cloudflare if (CFInterpreter.IsCloudflare(error)) { _response = BypassCloudflare((HttpWebRequest)request, error); } else { throw ex; } } return(_response); }