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

So überwinden Sie Authentifizierungsprobleme beim Senden von Anmeldeformularen mit Jsoup

DDD
Freigeben: 2024-10-20 13:18:30
Original
573 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage