>

Winform 응용 프로그램을 가지고 있고 HTML을 긁어 모으고 있습니다. 때때로 Google은 보안을 위해 보안 문자 페이지를 리디렉션합니다.

여기서 시작하는 문제는 HtmlAgilityPack을 사용하고 HTML을 얻는 중입니다 :

try
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36";
            request.Timeout = 10000;
            WebResponse response = request.GetResponse();
            using (var reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
            {
                return reader.ReadToEnd();
            }
        }
        catch (WebException e)
        {
           //Here I am getting captcha page
            using (var sr = new StreamReader(e.Response.GetResponseStream()))
                return sr.ReadToEnd();
        }

HTML을 내 HtmlDocument에로드 한 후

보안 문자를 찾고 있습니다. html이 포함되어 있으면 WebBrowser를 열고 동일한 URL을 다시 탐색합니다. cathpa를 확인하고 "thats"Google이 열려 있습니다. 그러나 30 초 후에 html을 다시 얻으려고하면. 보안 문자 페이지가 다시 표시됩니다. 나는 그것을 테스트, WebBrowser 더 이상 capthca 페이지를 표시하지 않지만 내 요청은 여전히 ​​? 그들은 같은 로컬 호스트 같은 컴퓨터 같은 와이파이에서 요청 ..

var webBrowser1 = new WebBrowser
                     {
                         ScriptErrorsSuppressed = true,
                         AllowNavigation = true,
                         Dock = DockStyle.Fill
                     };
                    BrowserSettings(webBrowser1);
              webBrowser1.Refresh(WebBrowserRefreshOption.Completely);
            //Here I am NOT getting captcha page
                    webBrowser1.Navigate(searchUrl);
                    if (DialogForms == null)
                    {
                        DialogForms = new Form
                        {
                            WindowState = FormWindowState.Maximized,
                            TopMost = true
                        };
                    }
                    DialogForms.Controls.Add(webBrowser1);
                    DialogForms.ShowDialog();


  • 답변 # 1

    어떤 빠른 비 응답 : 당신이하고있는 일은 reCAPTCHA가 존재하는 이유와 거의 비슷하기 때문에 (강조)를 완화 및/또는 예방하는 데 도움이됩니다 :

    와이즈 비즈 <시간>

    업데이트 :

    Q :

    와이즈 비즈

    A :

    "bot check"는 호출시기에 대한 자체 결정에 따라 실행됩니다.

    내가 긁고있는 사이트가특히Google의 reCAPTCHA를 구현하고 있다고 가정합니다-제 실수입니다. 이 사이트는

    reCAPTCHA uses anadvanced risk analysis engine and adaptive CAPTCHAstokeep automated softwarefrom engaging in abusive activities on your site.

    ...it uses advanced risk analysis techniques, considering the user’s entire engagement with the CAPTCHA, and evaluates a broad range of cuesthat distinguish humans from bots.

    뒤에있을 수 있습니다.  (웹 애플리케이션 방화벽) 서비스는 보안 문자를 기반으로 일부 챌린지를 제공하는 봇 검사를 호출하거나 요청을 완전히 거부합니다.

    그럼 ...

    but my question is, how can understand reCAPTCHA my request method. Example I get the html by WebBrowser or via Request:Response and read from Stream.İt doesnt show reCAPTCHA for WebBrowser but for Request:Response it does

  • 이전 jquery - 선택한 항목의 텍스트를 가져 와서 목록에 넣습니다
  • 다음 sql - CASE 커서