Heim  >  Artikel  >  Backend-Entwicklung  >  So überwinden Sie Authentifizierungsprobleme beim Senden von Anmeldeformularen mit Jsoup

So überwinden Sie Authentifizierungsprobleme beim Senden von Anmeldeformularen mit Jsoup

DDD
DDDOriginal
2024-10-20 13:18:30467Durchsuche

How to Overcome Authentication Issues While Submitting Login Forms with Jsoup

Herausforderungen beim Senden von Anmeldeformularen mit Jsoup

Trotz der Eingabe gültiger Anmeldeinformationen kann es beim Zugriff auf eine Website mit dem bereitgestellten Code zu Schwierigkeiten kommen. Bei der Ausführung schlägt die Authentifizierung des Codes fehl, was auf ein potenzielles Problem hinweist.

Ein mögliches Versehen betrifft die Anforderung zusätzlicher Werte über Benutzername, Passwort und Cookies hinaus. Insbesondere erfordert die Site die Einbindung von VIEWSTATE und EVENTVALIDATION.

Um dieses Problem zu beheben, rufen Sie diese Werte aus der Antwort der ersten GET-Anfrage ab:

<code class="java">Document doc = loginForm.parse();
Element e = doc.select("input[id=__VIEWSTATE]").first();
String viewState = e.attr("value");
e = doc.select("input[id=__EVENTVALIDATION]").first();
String eventValidation = e.attr("value");</code>

Integrieren Sie diese Werte in den nachfolgenden POST Anfrage:

<code class="java">org.jsoup.nodes.Document document = (org.jsoup.nodes.Document) Jsoup.connect("https://www.capitaliq.com/CIQDotNet/Login.aspx/authentication.php").userAgent("Mozilla/5.0")               
            .data("myLogin$myUsername", "MyUsername")
            .data("myLogin$myPassword, "MyPassword")
            .data("myLogin$myLoginButton.x", "22")                   
            .data("myLogin$myLoginButton.y", "8")
            .data("__VIEWSTATE", viewState)
            .data("__EVENTVALIDATION", eventValidation)
            .cookies(loginForm.cookies())
            .post();</code>

Fügen Sie das Feld „userAgent“ ein, um die Kompatibilität mit dem browserspezifischen Rendering der Website sicherzustellen.

Verbesserungen

Um die Funktion „Erinnern“ zu aktivieren „Me“-Funktion beim Login:

<code class="java">.data("myLogin$myEnableAutoLogin", "on")</code>

Das obige ist der detaillierte Inhalt vonSo überwinden Sie Authentifizierungsprobleme beim Senden von Anmeldeformularen mit Jsoup. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn