Отправка текста капчи возвращает ошибку "Please fill out the reCAPTCHA" - C#

Узнай цену своей работы

Формулировка задачи:

Пытаюсь авторизоваться на сайте, с помощью c# xNet.dll Получаю challenge значение, капчи. Получаю капчу. Разгадывание капчи, путем AntiGate И мне сайт возвращает ответ, что я не ввел капчу.
                      //лоадим капчу
                        CookieDictionary cookies = new CookieDictionary();
                        request.Cookies = cookies;
                        request.UserAgent = HttpHelper.ChromeUserAgent();
                        request.Referer = "http://site.com/access/login";
                        string content = request.Get("http://api.recaptcha.net/challenge?k=6LfUUtMSAAAAAOBuPTWtMAnAu3l9AS-iHZb6iFpp").ToString();
                        Regex reg = new Regex(@"challenge \: \'(.*)\',");
                        string img = reg.Match(content).Groups[1].Value.ToString();
                        WebClient client = new WebClient();
 
                        client.DownloadFile("http://api.recaptcha.net/image?c=" + img, "captcha.jpg");
 
                        AntiCaptcha anticap = new AntiCaptcha(this.txtAntigate.Text);
 
                        anticap.CheckDelay = 10000;
                        anticap.CheckRetryCount = 20;
                        anticap.SlotRetry = 5;
                        anticap.SlotRetryDelay = 800;
                        string result = "none";
                        try
                        {
                            // отправляем файл и ждем ответа
                            string answer = anticap.GetAnswer("captcha.jpg");
                            if (answer != null)
                                result = answer;
 
                        }
                        catch (AntigateErrorException aee) { MessageBox.Show(aee.ToString()); }
                        MessageBox.Show(result);
 
                        request.Cookies = cookies;
                        request.UserAgent = HttpHelper.ChromeUserAgent();
                        request.Referer = "http://site.com/access/login";
                        request.AddParam("username", data[0]);
                        request.AddParam("password", data[1]);
                        request.AddParam("rememberme", "off");
                        request.AddParam("recaptcha_challenge_field", img);
                        request.AddParam("recaptcha_response_field", result);
                        content = request.Post("http://site.com/access/submit").ToString();
Выдает ошибку Please fill out the reCAPTCHA. Снифер показывает, что все отправляется.
Кто поможет?

Решение задачи: «Отправка текста капчи возвращает ошибку "Please fill out the reCAPTCHA"»

textual
Листинг программы
humanverify[hash]
challenge
k

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы