Сохранить рекапчу

Тема в разделе "PHP", создана пользователем strike990, 10 авг 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. strike990

    strike990 Писатель

    Регистр.:
    24 ноя 2009
    Сообщения:
    6
    Симпатии:
    4
    Ребята, начал делать обход рекапчки ( необходимо сохранить капчу и отправить на сайт anti-gate), но столкнулся с проблемой - на доноре - рекапча висит через iframe, поэтому сразу адрес картинки забрать не получается, но и при переходе по урлу в iframe - генерируется новая капча.. Есть какието мысли, как получить капчу, которая уже подгруженна на сайте - доноре??
     
  2. McLay

    McLay Постоялец

    Регистр.:
    20 май 2008
    Сообщения:
    71
    Симпатии:
    15
    а зачем во время парсинга подгружать ифрейм два раза?
     
  3. Digwnews

    Digwnews Читатель

    Заблокирован
    Регистр.:
    1 мар 2010
    Сообщения:
    127
    Симпатии:
    24
    Я вообще не понимаю зачем что-либо грузить кроме капчи :D
    Или там на основной странице есть какие-то генерируемые хидден поля?
    Тогда зачем грузить ифрейм в основной странице?
     
  4. strike990

    strike990 Писатель

    Регистр.:
    24 ноя 2009
    Сообщения:
    6
    Симпатии:
    4
    iframe подгружается изначально на странице доноре, оттуда вытягиваю урл ифрайма, и перехожу по этому урлу. И получается, что при переходе генерируется новая капча..
    П.С. К основной странице обязательное обращение, потому что это уже 2-й этап регистрации.
     
  5. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    735
    Симпатии:
    261
    А ты не переходи по урлу, а стягивай его тем же своим скриптом, со всеми заголовками, которые бровзер передает (типа там Referer и пр.). В идеале надо полностью сэмулировать бровзер. Если он не использует яваскрипта или там SO-кук - то это не так уж и сложно.

    Если использует - то выход или в OLE-приблудах типа XHE, или возможно твою конечную задачу удастся решить малой кровью через скрипт greasemonkey, подключаемый на ту же страницу.
     
  6. DupleX

    DupleX Создатель

    Регистр.:
    20 апр 2006
    Сообщения:
    26
    Симпатии:
    4
    А ведь новая капча будет для тебя актуальной. Каждый раз загружая капчу ты её и для себя обновляешь - вводи новую.
     
  7. komyak

    komyak

    Регистр.:
    4 фев 2009
    Сообщения:
    482
    Симпатии:
    183
    Как пример, при запросе формы с о скрытыми полями ты сначала грузишь форму, а потом капчу. Кукисы сохраняются же...
     
  8. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    482
    Симпатии:
    350
    PHP:
    preg_match('#<noscript><iframe frameborder="0" height="300" src="(.*)" width="500">#'$page$capch_url);

    $page $curl->get($capch_url[1]); $post=$capch_url[1];


    preg_match('#<img id="recaptcha_image" width="300" height="57" alt="" src="(.*)">#'$page$capch_url);
    $capch_url='https://api-secure.recaptcha.net'.$capch_url[1];

    preg_match('#<input type="hidden" name="recaptcha_challenge_field" id="recaptcha_challenge_field" value="(.*)" />#'$page$recaptcha_challenge_field);

    $page $curl->get($capch_url);
    $file=fopen("capch.jpg""w");
    fwrite ($file$page);
    fclose ($file);

    // Распознаем капчу ==>
    $code=trim(recognize('capch.jpg'$apikey$is_verbose$rtimeout$mtimeout$is_phrase$is_regsense$is_numeric$min_len$max_len));

    $page $curl->post($post, array(
    'recaptcha_challenge_field' => $recaptcha_challenge_field[1],
    'recaptcha_response_field' => $code,
    'submit' => 'I%27m+a+Human'
    )
    );

    preg_match ('#<textarea rows="3" cols="40">(.*)</textarea>#smi'$page$capch_key);

    $fields['recaptcha_challenge_field']=$capch_key[1];
    $fields['recaptcha_response_field']='manual_challenge';
    Добавлено через 4 минуты
    Код ужасно старый...
    Но суть думаю поймете...
    Сначало получаете адрес фрейма, потом идете по нему...
    Там капча, качаете её отправляете на распознание далее отправляете пост на адрес фрейма или... непомню... смотрите код.. далее вам код в textarea парсите и уже на сайте вписываете вместо кода капчи... Да и там ещё какоето поле есть...

    А и сейчас рекапча вроде на google базируется :)
     
Статус темы:
Закрыта.