Captcha auslesen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 17 Antworten in diesem Thema. Der letzte Beitrag () ist von jvbsl.

    Captcha auslesen

    Es geht um folgendes:

    Ich möchte eine Captcha von einer Website(ok.de) auslesen.
    Da ich eine Registrierung per HtmlWebRequest abschicken möchte, kommt für mich kein normaler WebBrowser in Frage.
    Soweit habe ich alles schon gemacht, den HTML Code habe ich mir nun genau angeschaut.
    Die einzigen beiden Links, die mit dem Captcha zutun haben, sind folgende:

    HTML-Quellcode

    1. <script type="text/javascript" src="https://www.google.com/recaptcha/api/challenge?k=6LeTItQSAAAAAMMAMVABUkh53Qp84ni9wVr1B4Yr"></script>


    und

    HTML-Quellcode

    1. <iframe src="https://www.google.com/recaptcha/api/noscript?k=6LeTItQSAAAAAMMAMVABUkh53Qp84ni9wVr1B4Yr" height="300" width="500" frameborder="0"></iframe><br/>


    Nun... diese Links kann ich zwar mit RegEx auslesen, jedoch wird man, wenn man auf diese Links mal klickt feststellen, dass man dort keine Bilder findet...
    Wenn ich über einen normalen Browser(Chrome, Firefox etc.) auf die Seite ok.de gehe und einen Rechtsklick auf das Captcha mache, kann man sich die Bild-Url kopieren oder das Bild in einem neuen Tab anzeigen lassen.
    Genau diesen Link brauche ich aber in meiner VB Anwendung, doch dieser ist nur über den normalen Quelltext der Seite zu bekommen. (Nicht der HTML Text durch HtmlWebRequest)

    Kann mir jemand erklären, wie ich an den normalen Quelltext rankomme?
    Danke

    Mfg

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Charon“ ()

    DoomStyler schrieb:

    Captchas sind dafür da dass man nicht über einem Programm irgendetwas macht.


    Captchas sind dafür da um innerhalb eines Webangebots zb. sich nicht automatisiert registrieren zu können usw. Aber wenn man sie ausliest und das eben über eine externe Anwendung macht, bleibt der Sinn der gleiche. Sehe da kein Problem!
    Ich finde auch, dass das Thema Bots hier im Forum detaillierter beschrieben werden soll. Captchas sind dazu gedacht Bots auf Formulare zu hetzen und nicht irgendwelchen Programmen zu verbieten eine "externe" Registrierung oder sonstiges vorzunehmen.
    Ich nutze keine Bots ... Ich nutze Automatisierungshelfer. :D

    Sry für of Topic.

    Ich habe leider keine Hilfestellung für den TE und wollte mich nur an der "BOT" Diskussion beteiligen.

    Andy16823 schrieb:

    Aber in 90% sind Sie "Böse"

    Quatsch! Die meisten Bots sind gutartig.

    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    habs mir mal angeguckt, ist ziemlich komplex und da ok.de den captcha service von google verwendet wird's sicher nicht einfach
    das meiste wird mit javascript gemacht und da webrequest keinen js code ausführ kann (zumindest nicht in .net) glaub ich nicht, dass du an das captcha kommst.
    Leute das war einfach nur eine ernsthafte Frage, wie man den Captcha in einer PictureBox darstellen lassen kann.
    An alle Posthunter, denen zur Lösung nichts einfällt: Haltet euch bitte aus diesem Thread raus.
    Wie ~blaze~ schon sagte, habe ich an keiner Stelle etwas von Captcha umgehen geschrieben.
    Sollte ich das vorhaben, würde ich schon intelligent genug sein, dass in anderen Foren nachzufragen...
    Bitte lest euch alle meinen 1. Post genau durch und antwortet nur, wenn ihr etwas zur Lösung des Problems beizutragen habt.
    Danke


    PS: windowsfan: Danke für die einzige Antwort, mit der ich was anfangen konnte.
    Meinst du, ein Umstieg auf eine andere Sprache wäre an dieser Stelle sinnvoll? Da ich mich zurzeit am liebsten mit HttpWebRequest und ähnlichem beschäftige. Weil generell finde ich, kann ich als "fortgeschrittener Anfänger" wirklich viel in Vb.Net umsetzen, und die Sprache fällt mir einfacher zu lernen.
    ich hab mich kurz schlau gemacht vorhin und habe gelesen, dass man mit c++ einen webrequest machen kann mit ausgeführtem javascript code, klingt interessant - ich werds mir heute mal angucken ich posten dann falls sich was ergeben hat! (wenn nicht poste ich auch :-P) was ich aber dennoch komisch finde, dass wenn man javascript auf ok.de deaktiviert, dann wird das ganze mit einem iframe geladen, jetzt ist eben die frage ob der webrequest von .net iframe-inhalte auslesnen kann oder nicht evtl. weiß jemand mehr!
    JDownloader macht genau so etwas:
    Captcha extrahieren und als Grafik mit Eingabebox anzeigen.
    Du kannst dir den JDownloader Source-Code mittels SVN herunterladen.
    svn.jdownloader.org/projects/show/jd
    Ich fürchte allerdings, dass der Code relativ komplex ist (abgesehen von der Tatsache, dass es Java-Code ist und deshalb nicht 1:1 in VB umsetzbar).
    Aber möglicherweise kannst du dir den einen oder anderen Kniff daraus ziehen.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    ohne javascript bekommste ja erstmal den Code der Website mit iframe, dann kannst den Inhalt des iFrames herunterladen
    Die URL für den iFrame dürfte erstmal immer dieselbe sein
    google.com/recaptcha/api/noscr…AMVABUkh53Qp84ni9wVr1B4Yr
    Sofern sich deren API Key nicht ändert(was so schnell nicht passieren dürfte)...
    Dort hast dann einfach eine Bild URL, die für das Captcha passt.
    Ansonsten müsst man halt mal durchdebuggen, was der JS Code macht und dies in .Net nachbilden...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---