Получение reCaptcha get запросом

dannko

Client
Регистрация
12.08.2013
Сообщения
137
Благодарностей
32
Баллы
28
Господа, помогите, пожалуйста, не могу побороть гугловскую эту рекапчу.

Получил я страницу регистрации, там такая штука:
HTML:
  <iframe src="//www.google.com/recaptcha/api/noscript?k=6LfptswSAAAAAA2YOZTZWjzvWhhY0zKjoLFe8G7G" height="300" width="500" style="border:none;"></iframe><br/>
Перейдя по урлу айфрейма откроется окно рекапчи с картинкой и формочкой для ответа. В ответ на правильный ответ она отдаст код, который нужно будет вставить в post запрос регистрации на сайте.

Беда в том, что get запрос из зенно на этот урл возвращается пустым. Но на гет запрос браузера она ж возвращается:-) Не могу понять, где я палюсь..
 

aleksei123

Пользователь
Регистрация
15.08.2014
Сообщения
131
Благодарностей
8
Баллы
18
Зенка даже не отправляет этот запрос, в логах после выполнения запроса ошибка
Код:
|WARN|ResourceDownloader.ResourceCurl|System.UriFormatException: Invalid URI: The format of the URI could not be determined.
   at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
   at System.Uri..ctor(String uriString)
 

aleksei123

Пользователь
Регистрация
15.08.2014
Сообщения
131
Благодарностей
8
Баллы
18
А почему просто не открыть ифрейм в браузере ? 0_о
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 263
Баллы
113
C#:
var x = tab.GetSourceText("utf-8"); // В x содержится содержимое страницы
var data = Regex.Match(x,"(?<=https://www.google.com/recaptcha/api/image).+?(?=\")").Value; // находим капчу гугловскую на странице
data="https://www.google.com/recaptcha/api/image"+data;
using (WebClient webclient = new WebClient())
            {
                using (var imageStream = webclient.OpenRead(data))
                {
                    Image img = Image.FromStream(imageStream);
                    img.Save("D:\\123.jpg");  // Ну и сохраняем
                }
            }
 
  • Спасибо
Реакции: dannko

dannko

Client
Регистрация
12.08.2013
Сообщения
137
Благодарностей
32
Баллы
28
А почему просто не открыть ифрейм в браузере ? 0_о
я делаю шаблон на post и get запросах, добавление экшена с браузером существенно замедлит выполнение.

C#:
var x = tab.GetSourceText("utf-8"); // В x содержится содержимое страницы
var data = Regex.Match(x,"(?<=https://www.google.com/recaptcha/api/image).+?(?=\")").Value; // находим капчу гугловскую на странице
data="https://www.google.com/recaptcha/api/image"+data;
using (WebClient webclient = new WebClient())
            {
                using (var imageStream = webclient.OpenRead(data))
                {
                    Image img = Image.FromStream(imageStream);
                    img.Save("D:\\123.jpg");  // Ну и сохраняем
                }
            }
Спасибо большое за сниппет! Я начал только разбираться в шарпе) Завтра утром попробую и отпишусь :-)
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 263
Баллы
113
var x = tab.GetSourceText("utf-8");
в переменную x тупо делай get запрос на сайт) разницы не много
 

sarahconnor

Новичок
Регистрация
17.02.2015
Сообщения
1
Благодарностей
0
Баллы
1
А почему просто не открыть ифрейм в браузере ? 0_о
А как это сделать?

Mожно ли настроить ZennoPoster на выполнение определенного шага (клик и ввод капчи) вручную?
Если не затруднит, ответьте подробнее, пожалуйста, т.к. я новичок и только начинаю разбираться в ZennoPoster.
 

svaminar

Client
Регистрация
21.08.2013
Сообщения
834
Благодарностей
378
Баллы
63
кукиси нужно вставлять в get запрос.
 

kugukaa

Client
Регистрация
29.12.2013
Сообщения
37
Благодарностей
6
Баллы
8
C#:
var x = tab.GetSourceText("utf-8"); // В x содержится содержимое страницы
var data = Regex.Match(x,"(?<=https://www.google.com/recaptcha/api/image).+?(?=\")").Value; // находим капчу гугловскую на странице
data="https://www.google.com/recaptcha/api/image"+data;
using (WebClient webclient = new WebClient())
            {
                using (var imageStream = webclient.OpenRead(data))
                {
                    Image img = Image.FromStream(imageStream);
                    img.Save("D:\\123.jpg");  // Ну и сохраняем
                }
            }
Вставляю C# код, и не могу запустить ни один блок, чего не хватает? За ранее спасибо! Без имени-1.jpg
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 263
Баллы
113
Tab tab = instance.ActiveTab;
 

kugukaa

Client
Регистрация
29.12.2013
Сообщения
37
Благодарностей
6
Баллы
8
Tab tab = instance.ActiveTab;
Спасибо за быстрый ответ!)

Tab tab = instance.ActiveTab;
var x = tab.GetSourceText("utf-8"); // В x содержится содержимое страницы
var data = Regex.Match(x,"(?<=https://www.google.com/recaptcha/api/image).+?(?=\")").Value; // находим капчу гугловскую на странице
data="https://www.google.com/recaptcha/api/image"+data;
using (WebClient webclient = new WebClient())
{
using (var imageStream = webclient.OpenRead(data))
{
Image img = Image.FromStream(imageStream);
img.Save("D:\\123.jpg"); // Ну и сохраняем
}
}

но всё равно не работает( Ни один блок в зенке не запускается.
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 263
Баллы
113
что пишет? логи
 

kugukaa

Client
Регистрация
29.12.2013
Сообщения
37
Благодарностей
6
Баллы
8

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 263
Баллы
113
Директивы Using - добавь нижний код
using System.Net;
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 263
Баллы
113
можно так тоже
C#:
Tab tab = instance.ActiveTab;
var x = tab.GetSourceText("utf-8"); // В x содержится содержимое страницы
var data = Regex.Match(x, "(?<=https://www.google.com/recaptcha/api/image). ?(?=\")").Value; // находим капчу гугловскую на странице
data = "https://www.google.com/recaptcha/api/image" + data;
using(System.Net.WebClient webclient = new System.Net.WebClient()) {
    using(var imageStream = webclient.OpenRead(data)) {
        Image img = Image.FromStream(imageStream);
        img.Save("D:\\123.jpg"); // Ну и сохраняем
    }
}
 

kugukaa

Client
Регистрация
29.12.2013
Сообщения
37
Благодарностей
6
Баллы
8
можно так тоже
C#:
Tab tab = instance.ActiveTab;
var x = tab.GetSourceText("utf-8"); // В x содержится содержимое страницы
var data = Regex.Match(x, "(?<=https://www.google.com/recaptcha/api/image). ?(?=\")").Value; // находим капчу гугловскую на странице
data = "https://www.google.com/recaptcha/api/image" + data;
using(System.Net.WebClient webclient = new System.Net.WebClient()) {
    using(var imageStream = webclient.OpenRead(data)) {
        Image img = Image.FromStream(imageStream);
        img.Save("D:\\123.jpg"); // Ну и сохраняем
    }
}
Привет Radzhab! Спасибо, что откликнулся!
У меня вопрос. В переменную X делаю GET запрос на страницу ( www.google.com/recaptcha/api/noscript?k=6Ld8RcESAAAAAEo6_M9BjluesU7nWtdKmhIeU-jD)
Получаю следующее:

Код:
<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Проверка reCAPTCHA (необходима для отправки формы)</title></head>
<body><p>Мы должны убедиться в том, что вы человек, а не робот. Пройдите проверку по слову и нажмите кнопку "Я не робот", чтобы получить код подтверждения. В будущем этот процесс можно будет упростить, задействовав Javascript.</p>
<form action="" method="POST"><input type="hidden" name="recaptcha_challenge_field" id="recaptcha_challenge_field" value="03AHJ_VuvtMeyhnLhQLvawGD936EzNUmNvard_VZ-cGtQk7f_XUMFUbZyvoCLWqE6Sj_OpvDxOq2_XCcA9ML41l4Fp37_NSb_kHfDMb_gb951cc1uH7tqQdF_pLCJaVY7RjwkjaxO4fUUwOjEVcfAQVzkZFqwV02uAlERWxjhdlTGshrSdSh3U6zv-GaaQtibM9t639NBlZIw2M4C7NKOp8qFi3bQa6aa6RQ">
<center><img width="300" height="57" alt="" src="image?c=03AHJ_VuvtMeyhnLhQLvawGD936EzNUmNvard_VZ-cGtQk7f_XUMFUbZyvoCLWqE6Sj_OpvDxOq2_XCcA9ML41l4Fp37_NSb_kHfDMb_gb951cc1uH7tqQdF_pLCJaVY7RjwkjaxO4fUUwOjEVcfAQVzkZFqwV02uAlERWxjhdlTGshrSdSh3U6zv-GaaQtibM9t639NBlZIw2M4C7NKOp8qFi3bQa6aa6RQ"></center>
<div class="recaptcha_input_area"><label for="recaptcha_response_field">Введите текст:</label></div>
<div><input name="recaptcha_response_field" id="recaptcha_response_field" type="text" autocomplete="off"></div>
<div><a href="?k=6Ld8RcESAAAAAEo6_M9BjluesU7nWtdKmhIeU-jD&amp;is_audio=false">Другие слова</a>
<a href="?k=6Ld8RcESAAAAAEo6_M9BjluesU7nWtdKmhIeU-jD&amp;is_audio=true">Звуковая проверка</a>
<a href="https://support.google.com/recaptcha" target="_blank">Справка</a></div>
<div><input type="submit" name="submit" value="Я не робот"></div></form></body></html>
При выполнении блока C# логи такие:Без имени-1.jpg

Я так понимаю там дело в регулярке. Помоги пожалуйста! За ранее спасибо!
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)