ФорумПрограммированиеPHP для идиотов → icq.com капча.

icq.com капча.

  • .snif

    Сообщения: 19 Репутация: N Группа: Кто попало

    Spritz 27 сентября 2010 г. 22:52

    Всем привет. Собственно цель - написать скрипт который будет регистрировать icq номера. Это не авторегер, не регер, а просто скрипт через который можно будет зарегестрировать номер не заходя на icq.com, в общем ничего того, что могло бы желать зла.
    Собственно, на первый взгляд для меня это показалось не проблемой - делал все запросы при помощи curl, ну и ссылку на капчу вырывал регуляркой. Однако данный метод не прокатил. Запрос на получения капчи делается один, а вот в момент посылки запроса на регистрации капча то уже менялась, т.к. это уже получался новый сеанс.
    В общем прошу вашего совета, каким образом мне избежать данной проблемы? Пробывал сначало получить куки и капчу, потом выполнить запрос на регистрацию уже непосредственно с полученными куками (надеялся что куки и капча привязаны и на каждую сессию даётся одна капча) - не прокатило. В общем как я предполагаю, необходимо всё передать в одном запросе, а точнее одним curl запросом сначало вырвать ссылку на капчу и потом в этом же запросе отправить всю информацию на регистрацию.
    В общем дайте нужный совет. PHP кодингом занимался год, потом забросил наглухо на год, сейчас возвращаюсь к старым традициям. В общем в общих чертах что-то помню (намекаю на небольшой кусочек кода с вашей стороны).
    Заранее признателен.
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 27 сентября 2010 г. 23:03, спустя 10 минут 25 секунд

    ну надо смотреть лог http запросов при реге на icq… посмотри какие данные передаются на сервер
    я бы делал первым вариантом, так как при втором ("в этом же запросе") надо вводить капчу ;)
    Спустя 36 сек.
    смотреть можно ерез live http headers или например через wireshark (фильтр на http)
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • .snif

    Сообщения: 19 Репутация: N Группа: Кто попало

    Spritz 27 сентября 2010 г. 23:04, спустя 1 минуту 20 секунд

    adw0rd, ну так в этом и вся проблема, что капча всё-равно меняется. Смотерл я какие запросы идут (livehttpheaders помог мне). Мне кажется, что второй вариант единственный.
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 27 сентября 2010 г. 23:11, спустя 7 минут 29 секунд

    ну ты скажи как ты будешь при втором варианте посылать ответ капчи?
    Спустя 34 сек.
    картинка же покажется при первом запросе, а вторым ты пошлешь ответ
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Faster

    Сообщения: 1159 Репутация: N Группа: Кто попало

    Spritz 27 сентября 2010 г. 23:12, спустя 10 секунд

    Пробывал сначало получить куки и капчу, потом выполнить запрос на регистрацию уже непосредственно с полученными куками (надеялся что куки и капча привязаны и на каждую сессию даётся одна капча) - не прокатило

    плохо пробовал. сравнивай куки досимвольно
  • .snif

    Сообщения: 19 Репутация: N Группа: Кто попало

    Spritz 27 сентября 2010 г. 23:15, спустя 3 минуты 29 секунд

    Faster, ну я вот к примеру даже сейчас через livehttpheaders повторяю запрос, а капча уже другая.
  • Faster

    Сообщения: 1159 Репутация: N Группа: Кто попало

    Spritz 27 сентября 2010 г. 23:17, спустя 2 минуты 4 секунды

    честно в лом смотреть.
    а почему капча должна быть та же?
  • .snif

    Сообщения: 19 Репутация: N Группа: Кто попало

    Spritz 27 сентября 2010 г. 23:21, спустя 3 минуты 18 секунд

    Faster, запуская скрипт он получает одну капчу по одной сессии, а при регистрации уже другой запрос посылается, другая сессия а у другой сессии своя капча. Вот я и хочу сделать всё в одной сессии, тоесть получаем капчу и в этом же curl-запросе сразу отправляем запрос на регистрацию.
  • adwo

    Сообщения: 913 Репутация: N Группа: Джедаи

    Spritz 28 сентября 2010 г. 0:07, спустя 46 минут 30 секунд

    Не надо нам тут врать, что все правильно отправляешь и не работает. Смотри лучше все, что отправляет браузер и пробуй. Браузер ведь как-то делает.
  • adwo

    Сообщения: 913 Репутация: N Группа: Джедаи

    Spritz 28 сентября 2010 г. 0:12, спустя 5 минут 20 секунд

    Глянул. Там вообще все просто:

    1. Запрашивешь страницу https://www.icq.com/register/
    2. Сохраняешь полученные куки, выковыривешь адрес капчи.
    3. Отпрвляешь капчу на антигейт/капчабот или куда еще там. В общем разгадываешь капчу.
    4. Отправляешь данные на сервер с заренее сохраненными куками.

    PROFIT!
  • Trieg

    Сообщения: 41 Репутация: N Группа: Адекваты

    Spritz 28 сентября 2010 г. 15:17, спустя 15 часов 4 минуты 14 секунд

    ТС покажи свой код
  • .snif

    Сообщения: 19 Репутация: N Группа: Кто попало

    Spritz 28 сентября 2010 г. 19:23, спустя 4 часа 6 минут 54 секунды

    Кода как-таково нет, есть вопрос. Накидал тут в принципе немного:

    <?php
    $url = "https://www.icq.com/register/";
    $get_cookie = curl_init();
    curl_setopt ($get_cookie, CURLOPT_COOKIEJAR, "cookie.txt");
    curl_setopt($get_cookie, CURLOPT_URL, $url);
    curl_setopt($get_cookie, CURLOPT_FAILONERROR, 1);
    curl_setopt($get_cookie, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($get_cookie, CURLOPT_RETURNTRANSFER,1);
    $get_cookie_result = curl_exec($get_cookie);
    curl_close($get_cookie);
    ?>

    собственно знаю, что куки можно хранить в файлике, это всё успешно работает и как брать их из файлика тоже знаю, НО возможно ли вместо файлика хранить их в переменной? Пробывал хранить в масиве - не получается. Ну и попутно вопрос про регулярки, в них я вобще не шарю. В стурктуре страницы есть фрагмент:

    <img src="/img/aa_img.php?gnm=93…..>

    в общем помогите составить выражение которое будет вырывать всё, что после aa_img.php?gnm=. Заранее признателен.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 28 сентября 2010 г. 19:37, спустя 13 минут 47 секунд

    50 баксов :)
    Сапожник без сапог
  • .snif

    Сообщения: 19 Репутация: N Группа: Кто попало

    Spritz 28 сентября 2010 г. 19:42, спустя 4 минуты 36 секунд

    phpdude, за 50 баксов можно такой скрипт написать, только он будет через антикапчу работать)
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 28 сентября 2010 г. 19:54, спустя 11 минут 42 секунды

    .snif, пиши :)
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!