Httpwebrequest Captcha

09/20/2014 19:17 iBanane#1
Hey Leute, ich habe ein kleines Problem, und zwar will ich ein Programm schreiben, dass sich selber eine E-Mail Adresse machen soll, da es eine anständige sein soll wie z.B @gmail.com und keine Wegwerfadresse, muss es ein Captcha lösen, wie ich es löse habe ich schon, allerdings habe ich bei dem Httpwebrequest das Problem, dass ich mich noch nicht sehr mit ihm auskenne, ein einfacher Request ohne Captcha oder so, kein Problem, aber wie ich so etwas anstelle, keine Ahnung, da ich ja nicht einfach die Logindaten im Post abschicken kann, da er ja irgendwie ein Captcha erwartet. Also wie mache ich das? Ich erwarte von euch keinen kompletten Code, aber Denkansätze wären nett. :)

LG.
09/20/2014 19:51 Mostey#2
Quote:
Originally Posted by iBanane View Post
muss es ein Captcha lösen, wie ich es löse habe ich schon
Wieso fragst du, wie du den Captcha löst wenn du doch schon eine Lösung gefunden hast?

Btw. gibt es solche Libraries die über das OCR Verfahren Captchas eigenständig lösen können. Ob das bei Google's Recaptcha allerdings funktioniert, ist fragwürdig. Vor allem weil die ja ständig die Captchastruktur ändern.

Bild herunterladen, anzeigen lassen und manuell lösen - etwas anderes fällt mir nicht ein.

Quote:
Originally Posted by iBanane View Post
allerdings habe ich bei dem Httpwebrequest das Problem, dass ich mich noch nicht sehr mit ihm auskenne
Kein Problem, er kann manchmal sehr schwierig sein. In den meisten Fällen hilft da etwas Schokolade - vielleicht erzählt er irgendwann mal mehr von sich. :rolleyes:
09/20/2014 20:35 tolio#3
[Only registered and activated users can see links. Click Here To Register...] ham auch ne api für so ziemlich alle sprachen
09/20/2014 20:39 iBanane#4
Tut mir leid, habe mich wohl etwas unverständlich ausgedrückt. :D Löse das Captcha schon mit DeathByCaptcha, mit dem Webbrowser ging das auch einfach, da konnte ich auf gmail.com gehen, Captcha auslesen, einfüllen lassen, abschicken. Nur jetzt wo ich neu beim Httpwebrequest bin, und bis jetzt nur einfache einzelne Requests geschickt habe, wie z.B halt ein einfacher Login wo man im Prinzip nur die httpheader kopiert, habe ich keine Vorstellung davon, wie ich das Captcha auslese, und sozusagen in der gleichen Session mich noch registriere, da sich das Captcha ja sonst ändert.
09/20/2014 20:55 Mostey#5
Quote:
Originally Posted by iBanane View Post
Tut mir leid, habe mich wohl etwas unverständlich ausgedrückt. :D Löse das Captcha schon mit DeathByCaptcha, mit dem Webbrowser ging das auch einfach, da konnte ich auf gmail.com gehen, Captcha auslesen, einfüllen lassen, abschicken. Nur jetzt wo ich neu beim Httpwebrequest bin, und bis jetzt nur einfache einzelne Requests geschickt habe, wie z.B halt ein einfacher Login wo man im Prinzip nur die httpheader kopiert, habe ich keine Vorstellung davon, wie ich das Captcha auslese, und sozusagen in der gleichen Session mich noch registriere, da sich das Captcha ja sonst ändert.
Und was genau ist da nun unklar? Du nutzt einen HTTP GET Request um die Signup Seite anzufragen, daraufhin bekommst du vermutlich den HTML Source zurück, den dein Browser normalerweise darstellen würde. Hier müsstest du nun die Stelle rauspicken, an der das Captcha angezeigt wird. Vermutlich (sogar sehr sicher) ein <img> Element. Das könntest du dir mit einem HTML Parser raussuchen (HtmlAgilityPack ist sehr beliebt, nutze ich selbst auch). In dem Element ist sicherlich auch irgendwo der Direktlink zu dem Bild, den gibst du einfach an deine OCR Library weiter und bekommst vermutlich den Text als string zurück.

Anschließend sendest du dann nochmal einen HTTP POST Request in dem alle Daten stehen (E-Mail, Passwort, der Captcha und so weiter).

Das zur Struktur, wie du alles genau implementieren musst, kannst du dir in Google zusammensuchen.
09/20/2014 20:59 iBanane#6
Ok, ich versuche es mal, danke.