![]() |
Captcha in Programm anzeigen lassen
Nabend zusammen.
ich bin gerade dabei ein kleines Programm zu proggen, was die regestation auf einer Seite erleichtern soll. Nein keine sorge, ich habe nicht vor, so ne art bot zu bauen, die Seiten mit Regestrationen flutet, nein ich möchte die Regestration nur einfacher gestalten. Und um das zu erreichen würde ich gerne das Captcha im Programm anzeigen lassen. Das problem wa sich habe, es ist ein javascript. Hier mal der Code:
Delphi-Quellcode:
<script>
var RecaptchaOptions = { theme : 'red' }; </script> <script type="text/javascript" src="http://api.recaptcha.net/challenge?k=6Lep_gQAAAAAAK5Wn6FbaLBPweWqL5QS79hwXSPw"></script> <noscript> <iframe src="http://api.recaptcha.net/noscript?k=6Lep_gQAAAAAAK5Wn6FbaLBPweWqL5QS79hwXSPw" height="300" width="500" frameborder="0"></iframe> <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea> <input type="hidden" name="recaptcha_response_field" value="manual_challenge"/> </noscript> Auf der Seite sieht das ganze so aus: ![]() Könnt ihr mir vielleicht sagen, wie ich das hin bekomme? Denn ein weiteres problem stelle ich mir vor, nicht nur das anzegen lassn sonder dass das auch überprüft wird. Wäre echt klasse, wenn ihr mir helfen könntet^^ |
Re: Captcha in Programm anzeigen lassen
nimm z.B. TWebbrowser und zeige es damit an,
ansonsten ... was glaubst du denn, warum die das mit dem Capatcha so "aufwendig" machen? (damit es keiner einfach mit einem Programm auslesen kann) |
Re: Captcha in Programm anzeigen lassen
Ok ich kann mir jetzt die ganze Seite anzeigen lassen im WebBrwoser.
Gibt es denn jetzt auch die möglichkeit, nur einen bestimten teil anzeigen zu lassen? in diesem falle das Captcha? |
Re: Captcha in Programm anzeigen lassen
Du musst doch nur den IFrame anzeigen, oder?
|
Re: Captcha in Programm anzeigen lassen
Wenn du wirklich nur das Bild willst und nicht auf TWebBrowser setzen willst, nimm dir ein TIdHTTP.
Dann tu folgendes: 1. Filter die URL in <iframe src="url" raus. 2. Gette diese URL mit dem Client. 3. Filter das bla zwischen "challenge : 'bla'" und "server : 'bla'" aus dem erhaltenen HTML-Code (ohne ") 4. Gette das Image (im JPG Format) von GefilterterServer + 'image?c=' + GefiltertesChallenge 5. Lass den User das Captcha eingeben. Jetzt kommt es auf das weitere Aussehen des oben geposteten HTML-Codes an. Da ist eine Form, die hat eine action (form action="bla" steht da wahrscheinlich). 6. An diese URL postest du (ggf. musst du noch den Host der Seite vorne ranfügen): "recaptcha_challenge_field=' + GefiltertesChallnge + '&recaptcha_response_field=' + CaptchaCodeVonUser" ohne die ". Findest du im erhaltenen Quellcode wieder ".recaptcha.", war der Code falsch oder die Anfrage fehlerhaft (ggf. musst du Cookies und Referer noch handeln). Es kann auch sein, dass die Form noch weitere Parameter (input type="hidden") hat oder recaptcha noch was will (ist immer unterschiedlich bei den dingern). Sollte es nicht gehen, kannst du mal mit Wireshark kucken, was alles gesendet wird, wenn du das Captcha im Browser eingibst. |
Re: Captcha in Programm anzeigen lassen
Mein Vorgänger hat schon alles gesagt.
Kleiner Tipp noch: Pos, PosEx, Copy Müsste eigentlich reichen, um die URL zu filtern. |
Re: Captcha in Programm anzeigen lassen
So ich wollte nun folgendes machen:
Ich wollte mir das Captcha runter laden, und dann anzeige lassen. Diesmal handelt es sich um eine andere art von Captcha, also nicht mehr das, was ich zuerst gepostet hab. Um die URL des Captchas zu bekommen, muss ich ja den quelltext danach filtern. Doch immer wenn ich da smache, bekomme ich ne ganz komische ausgabe. hier mal der Code vom filtern: pos1 := pos('name="keystring"> <th align="left">[img]' , quelltext)+ length('name=[/img] <th align="left"><img src="'); pos2 := pos('"></table></form></font> ', quelltext); pos3 := copy(quelltext, pos1,pos2); showmessage(pos3); Das hier ist der Quelltextausschnitt, von dem ich das verwende: <input type="text" name="keystring"> <th align="left">[img]cp.php?PHPSESSID=9e7ee7637a2a19bf2b7cbb95b3e802de[/img]</table></form></font> Das unterstrichene ganz klar möchte ich raus haben. Doch so wie ich es jetzt habe, bkomme ich nur ne leere messagebox. |
Re: Captcha in Programm anzeigen lassen
Hast du mal geschaut, ob Pos1 oder Pos2 vielleicht 0 sind? (ok, bei Pos1 0 + Länge)
Wenn ja ist der Suchstring falsch (vielleicht ein Zeichen vergessen oder so) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz