DeKaDeNz (13.01.2012), Devon (12.01.2012), rVs14 (25.02.2012), uncopyable (12.01.2012)
-
12.01.2012, 19:47 #1
- Registriert seit
- 15.11.2011
- Beiträge
- 8.137
- Blog Entries
- 5
Thanked 9.417 Times in 3.253 Posts[C#] Google ReCaptcha Bild auslesen
Guten Tag,
die folgende Klasse ermöglicht es, ReCaptchas von Google in C# zu bearbeiten. Damit ist es möglich, HTTP-Requests zu senden, welche die Eingabe eines ReCaptchas erfordern (z.B. bei Registrierungsseiten wie auch Knuddels es verwendet).
Funktionsweise
Wird ein ReCaptcha ausgefüllt, sendet das Script an die Seite einen Key der recaptcha_challenge_field genannt wird. Mithilfe dieses Keys kann über Google geprüft werden, ob das Captcha korrekt eingegeben wurde oder nicht.
Google hat sich gegen das automatische auslesen der Captchas geschützt, um das manschinelle auslesen zu erschweren.
Ich nutze hierbei die NoScript-Option von ReCaptcha. Diese ist in der Regel bei jedem ReCaptcha vorhanden. Die normalen ReCaptchas arbeiten mit Javascript, daher stellt Google mit der NoScript-Option die Möglichkeit zur Verfügung, das Captcha ohne JS zu lösen.
Als Antwort erhält man dann das recaptcha_challenge_field.
Benutzung
Ihr müsst den Quelltext der Seite haben, auf der sich das zu ladende Captcha befindet. Dort findet ihr einen Link wie
Code:http://api.recaptcha.net/noscript?k=6LcU3AgAAAAAADsejah-kBvVVTQa6UjSAocMAlz_
Über die Funktion
public string GetNoScriptField(string src);
kann das Feld durch Übergabe des Quelltextes ausgelesen werden.
Anschließend kann das Captcha-Bild als Image-Objekt über der Eigenschaft
public Image CaptchaImage;
abgerufen und Beispielsweise in einer PictureBox geladen werden.
Das recaptcha_challenge_field erhält man über die Eigenschaft
public string ChallengeField;
Beispielaufruf:
ReCaptchaViewer captchaViewer = new ReCaptchaViewer("6LcU3AgAAAAAADsejah-kBvVVTQa6UjSAocMAlz_");
// Captcha in PictureBox laden
pbCaptcha.Image = captchaViewer.CaptchaImage;
// recaptcha_challenge_field in TextBox laden
tbChallengeField.Text = captchaViewer.ChallengeField;
ReCaptchaViewer Klasse
Spoiler:
-
The Following 4 Users Say Thank You to DMW007 For This Useful Post:
Ähnliche Themen
-
C# UserList neu auslesen ?
Von AmJano im Forum .NetAntworten: 6Letzter Beitrag: 29.08.2012, 10:18 -
VB.Net Stream auslesen
Von Shane im Forum .NetAntworten: 7Letzter Beitrag: 30.06.2012, 16:22 -
Googles Recaptcha beinahe geknackt!
Von Waterpolo im Forum IT & Technik NewsAntworten: 4Letzter Beitrag: 01.06.2012, 15:16 -
Poste das 1. Google Bild deines Vollen Namens
Von !lkay im Forum OffTopicAntworten: 29Letzter Beitrag: 16.04.2012, 15:05 -
[Vorschlag] "Google mal" oder Google Links Hilfen verbieten
Von Comu im Forum FeedbackAntworten: 1Letzter Beitrag: 18.12.2011, 19:34
Stichworte
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.