и снова о recaptcha

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by nezloy, 17 Jul 2015.

  1. nezloy

    nezloy New Member

    Joined:
    17 Jul 2015
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Господа, нид хелп.

    Есть сайт, где время от времени при заходе браузером выскакивает простенькая и аккуратненькая капча, трёх-четырёхзначное число. ок.
    Пытаюсь работать с сайтом пользуя инди (не дельфях), по ошибке 403 иду на обработку капчи. нашёл кей сайта, получаю для него challenge, гружу для этого challenge картинку -- а там жуть-кошмар из двух слов на чёрных пятнах, которые мне, не роботу, разгадать удаётся раза с 50-го в лучшем случае.

    пробую получить challenge через браузер (http://www.google.com/recaptcha/api/challenge?k=blablabl) и использовать его в программе напрямую -- всё нормально, получаю долгожданную простую капчу с цифрами, т.е. дело скорее всего в куках.

    Проверяю снифером: заголовки при отправке из браузера и из программы практически идентичны, кроме упомянутой куки.

    Но откуда она взялась, почему инди её не берёт? IdHTTP.AllowCookies := TRUE; IdCookieManager подключён.



    Возможно, ктото сталкивался с чемнибудь похожим? Где копать?
     
  2. realcoder

    realcoder Member

    Joined:
    9 Dec 2010
    Messages:
    226
    Likes Received:
    11
    Reputations:
    4
    Indy сама по себе такая, забей на нее. когда-то тоже парился с Delphi+indy. в итоге переписал на c# - там все отлично работало. и куки все цеплялись.
     
  3. nezloy

    nezloy New Member

    Joined:
    17 Jul 2015
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    так, всё куда интереснее, кажется, куки не при чём.

    более вдумчивая возня со снифером выявила, что получив значение challenge сайт его перезагружает:

    http://www.google.com/recaptcha/api/reload?c=<полученный на предыдущем шаге challenge>&k=<кей сайта>&reason=i&type=image&lang=en&th=<нечто>

    и получает ответ вида

    Recaptcha.finish_reload('<тут находится новое значение challenge>', 'image', null, null);

    картинка, полученная с этим новым значением challenge и есть та нужная красивая картинка с номером.
    но.
    встаёт вопрос с формированием параметра th при вызове reload (увы, он меняется при каждом вызове, т.е. "сохранить и использовать" его не получится).
    без этого параметра получаем challenge для картинки получше первоначального ужаса, из двух более менее читабельных слов (одно из скорее менее, чем более), но хотелось бы совсем красиво, с циферками.

    на форуме нашёл тему с похожим вопросом, увы, без ответа.

    кто нибудь знает решение?
     
    #3 nezloy, 18 Jul 2015
    Last edited: 18 Jul 2015
  4. Rimmidlav

    Rimmidlav New Member

    Joined:
    14 Apr 2013
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    а нашли конкретно откуда она? можно пример любой такой капчи (ссылку)?