капча турбобит

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by maximkafun, 31 Jan 2011.

  1. maximkafun

    maximkafun New Member

    Joined:
    19 May 2008
    Messages:
    25
    Likes Received:
    3
    Reputations:
    -9
    привет, нужна помощь, начал изучать делфи и хочу сделать небольшой загрузчик с турбобита..
    хм..но вот никак не могу вытащить капчу, во первых там их две, может давать турбо-вская капча, а может и от гугла..

    Code:
    <div class="captcha">
    <form method="post" action="#">
    <div><img alt="Captcha" src="http://turbobit.net/captcha/securimg_1/1296455210"></div>
    <input type="text" id="captcha_response" name="captcha_response" value="">
    <input type="submit" value="Скачать »" onsubmit="mgopen(event);">
    <div id="reloadCaptcha" onclick="updateCaptchaImage()">обновить картинку</div>
    <input type="hidden" value="securimg" name="captcha_type">
    <input type="hidden" value="1" name="captcha_subtype">
    </form>
    </div>
    
    иногда такая

    Code:
    <div class="recaptcha">
    <form method="post" action="#">
    <div><script type="text/javascript" src="http://api.recaptcha.net/challenge?k=6LcTGLoSAAAAAHCWY9TTIrQfjUlxu6kZlTYP50_c"></script><script type="text/javascript" src="http://www.google.com/recaptcha/api/js/recaptcha.js"></script><div id="recaptcha_widget_div" style="" class=" recaptcha_nothad_incorrect_sol recaptcha_isnot_showing_audio"><div id="recaptcha_area"><table id="recaptcha_table" class="recaptchatable recaptcha_theme_red"> <tbody><tr> <td colspan="6" class="recaptcha_r1_c1"></td> </tr> <tr> <td class="recaptcha_r2_c1"></td> <td colspan="4" class="recaptcha_image_cell"><div id="recaptcha_image" style="width: 300px; height: 57px; "><img style="display:block;" height="57" width="300" src="http://www.google.com/recaptcha/api/image?c=03AHJ_VuvYeo-qu5M6iZb1yxRFVv4kP156EGILRCIIu6dER6xH5InvJZec5NwBQg-B_ICtHWSwC3L8vZ2K_VvqEOpximDJEvmlzReuFNuxsHqyR1Sa-SfJngE970zaACqmDklXyJ0ybbQWTwRBCCVnNeB318HMRPqAcQ"></div></td> <td class="recaptcha_r2_c2"></td> </tr> <tr> <td rowspan="6" class="recaptcha_r3_c1"></td> <td colspan="4" class="recaptcha_r3_c2"></td> <td rowspan="6" class="recaptcha_r3_c3"></td> </tr> <tr> <td rowspan="3" class="recaptcha_r4_c1" height="49"> <div class="recaptcha_input_area"> <label for="recaptcha_response_field" class="recaptcha_input_area_text"><span id="recaptcha_instructions_image" class="recaptcha_only_if_image recaptcha_only_if_no_incorrect_sol">Type the two words:</span><span id="recaptcha_instructions_audio" class="recaptcha_only_if_no_incorrect_sol recaptcha_only_if_audio">Type what you hear:</span><span id="recaptcha_instructions_error" class="recaptcha_only_if_incorrect_sol">Incorrect. Try again.</span></label><br> <span id="recaptcha_challenge_field_holder" style="display: none; "><input type="hidden" name="recaptcha_challenge_field" id="recaptcha_challenge_field" value="03AHJ_VuvYeo-qu5M6iZb1yxRFVv4kP156EGILRCIIu6dER6xH5InvJZec5NwBQg-B_ICtHWSwC3L8vZ2K_VvqEOpximDJEvmlzReuFNuxsHqyR1Sa-SfJngE970zaACqmDklXyJ0ybbQWTwRBCCVnNeB318HMRPqAcQ"></span><input name="recaptcha_response_field" id="recaptcha_response_field" type="text" autocomplete="off"> </div> </td> <td rowspan="4" class="recaptcha_r4_c2"></td> <td><a id="recaptcha_reload_btn" href="javascript:Recaptcha.reload ();" title="Get a new challenge"><img id="recaptcha_reload" width="25" height="17" src="http://www.google.com/recaptcha/api/img/red/refresh.gif" alt="Get a new challenge"></a></td> <td rowspan="4" class="recaptcha_r4_c4"></td> </tr> <tr> <td><a id="recaptcha_switch_audio_btn" class="recaptcha_only_if_image" href="javascript:Recaptcha.switch_type('audio');" title="Get an audio challenge"><img id="recaptcha_switch_audio" width="25" height="16" alt="Get an audio challenge" src="http://www.google.com/recaptcha/api/img/red/audio.gif"></a><a id="recaptcha_switch_img_btn" class="recaptcha_only_if_audio" href="javascript:Recaptcha.switch_type('image');" title="Get a visual challenge"><img id="recaptcha_switch_img" width="25" height="16" alt="Get a visual challenge" src="http://www.google.com/recaptcha/api/img/red/text.gif"></a></td> </tr> <tr> <td><a id="recaptcha_whatsthis_btn" href="http://www.google.com/recaptcha/help?c=03AHJ_VuvYeo-qu5M6iZb1yxRFVv4kP156EGILRCIIu6dER6xH5InvJZec5NwBQg-B_ICtHWSwC3L8vZ2K_VvqEOpximDJEvmlzReuFNuxsHqyR1Sa-SfJngE970zaACqmDklXyJ0ybbQWTwRBCCVnNeB318HMRPqAcQ" target="_blank" title="Help"><img id="recaptcha_whatsthis" width="25" height="16" src="http://www.google.com/recaptcha/api/img/red/help.gif" alt="Help"></a></td> </tr> <tr> <td class="recaptcha_r7_c1"></td> <td class="recaptcha_r8_c1"></td> </tr> </tbody></table> </div></div><script>Recaptcha.widget = Recaptcha.$("recaptcha_widget_div"); Recaptcha.challenge_callback();</script>
    <noscript>
    &lt;iframe src="http://api.recaptcha.net/noscript?k=6LcTGLoSAAAAAHCWY9TTIrQfjUlxu6kZlTYP50_c" height="300" width="500" frameborder="0"&gt;&lt;/iframe&gt;&lt;br/&gt;
    &lt;textarea name="recaptcha_challenge_field" rows="3" cols="40"&gt;&lt;/textarea&gt;
    &lt;input type="hidden" name="recaptcha_response_field" value="manual_challenge"/&gt;
    </noscript></div>			
    <input id="submit" type="submit" value="Скачать »" onsubmit="mgopen(event);">			
    <input type="hidden" value="recaptcha" name="captcha_type">
    <input type="hidden" value="" name="captcha_subtype">
    </form>
    </div>
    
    очень прошу напишите пример на дельфи..как вытащить капчу..спасибо
     
  2. kolored

    kolored New Member

    Joined:
    16 Sep 2009
    Messages:
    18
    Likes Received:
    1
    Reputations:
    0
    В первом случае файл картинки капчи находится по адресу
    http://turbobit.net/captcha/securimg_1/1296455210
    Формат файла - PNG

    Во втором случае - капча грузится во iframe-окне по адресу
    http://api.recaptcha.net/noscript?k=6LcTGLoSAAAAAHCWY9TTIrQfjUlxu6kZlTYP50_c

    Картинка капчи находится здесь:
    <center><img width="300" height="57" alt="" src="image?c=03AHJ_VutIakbHxPo-gO35ZjjE9o2iGWe5H19XETZmSXcqEYSajJMHc8wFpuKw8aZiitvNCc4zSdt9W6Dfab3_FWlocMwQwgf9oYdPXYX4bLx1QPKyfrKnJpjOevn1ziVsAznTme8vMu8ibY8YUuXAVtMYUad22EXZdQ"></center>

    Т.е.:
    http://www.google.com/recaptcha/api/image?c=03AHJ_VutIakbHxPo-gO35ZjjE9o2iGWe5H19XETZmSXcqEYSajJMHc8wFpuKw8aZiitvNCc4zSdt9W6Dfab3_FWlocMwQwgf9oYdPXYX4bLx1QPKyfrKnJpjOevn1ziVsAznTme8vMu8ibY8YUuXAVtMYUad22EXZdQ

    Формат картинки - JPG
     
  3. maximkafun

    maximkafun New Member

    Joined:
    19 May 2008
    Messages:
    25
    Likes Received:
    3
    Reputations:
    -9

    спасибо..помог..но если не сложно напиши пример в дельфи..
    что бы в TImage выводилась капча одна или другая..и Edit для ввода капчи и кнопочку..все..просто не знаю как передать капчу в программу..примерно понял с других примеров..но здесь посложнее..уж хочется разобраться в этой беде
     
  4. kolored

    kolored New Member

    Joined:
    16 Sep 2009
    Messages:
    18
    Likes Received:
    1
    Reputations:
    0
    Сначала нужно спарсить адрес картинки в переменную captcha_img:string

    fstr:=TFileStream.Create('temp.jpg', fmCreate); // создаём файловый поток
    idHTTP1.Get(captcha_img,fstr); // загружаем картинку по адресу captcha_img в файловый поток
    Image1.Picture.LoadFromFile('temp.jpg'); //твоя капча теперь на форме

    Так-то ничего сложного, только мороки много.
    После того как капчу распознали отправляем её POST-запросом с параметрами:
    (для туробитовской капчи)
    captcha_response=5mvx
    captcha_type=securimg
    captcha_subtype=10
    Для recaptcha сниффим отдельно.
     
  5. maximkafun

    maximkafun New Member

    Joined:
    19 May 2008
    Messages:
    25
    Likes Received:
    3
    Reputations:
    -9

    что такое fstr?выбивает ошибку [Error] Unit1.pas(32): Undeclared identifier: 'fstr'
    и
    [Error] Unit1.pas(33): There is no overloaded version of 'Get' that can be called with these arguments

    блин..не пойму((

    у меня цель написать программу которая б при вводе ссылки турбобит, выводил капчу,я вводил, и началось бы скачивание через минуту..часто качаю с турбобита и заодно хочу разобраться с дельфи на этом примере..сейчас для меня самое главное это капча...так как самое сложное
     
    #5 maximkafun, 2 Feb 2011
    Last edited: 2 Feb 2011
  6. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    fstr:=TFileStream.Create('temp.jpg', fmCreate);
    Как бы очевидно, что это TFileStream.
    Code:
    var
      fstr: TFileStream;
    begin
      ...
    
     
  7. maximkafun

    maximkafun New Member

    Joined:
    19 May 2008
    Messages:
    25
    Likes Received:
    3
    Reputations:
    -9
    спасибо,чтото затупил,
    но на сколько я знаю дельфи не поддерживает png и еще вопрос где в коде вставить ссылку на капчу, что бы она выводилась в программе?

    у меня сейчас выглядит все так..

    Code:
    type
      TForm1 = class(TForm)
        Button1: TButton;
        Image1: TImage;
        IdHTTP1: TIdHTTP;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
      captcha_img:string;
         fstr: TFileStream;
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    fstr:=TFileStream.Create('temp.jpg', fmCreate);
    idHTTP1.Get(captcha_img,fstr);
    Image1.Picture.LoadFromFile('temp.jpg'); 
    end;
    
    end.
    
    
     
  8. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    В captcha_img ссылку на капчу.
    TPNGImage
     
  9. kolored

    kolored New Member

    Joined:
    16 Sep 2009
    Messages:
    18
    Likes Received:
    1
    Reputations:
    0
    Code:
    captcha_img:='http://turbobit.net/captcha/securimg_1/1296455210';
    fstr:=TFileStream.Create('c:\temp.png', fmCreate);
    idHTTP1.Get(captcha_img,fstr);
    Image1.Picture.LoadFromFile('c:\temp.png');
     
  10. maximkafun

    maximkafun New Member

    Joined:
    19 May 2008
    Messages:
    25
    Likes Received:
    3
    Reputations:
    -9
    ребятки, сначала была ошибка с подключением..понял что проблема с вай фай..оказывает через него не хочет подключится..пришлось искать кабель..но это фигня..
    идем дальше..код начал работать..хватает капчу..кидает на диск Д, но в программе не открывает.пишет что файл занят другим процессом..в может быть дело?