示例#1
0
        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);
        }
示例#2
0
        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);
        }