Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara Mengatasi Isu Pengesahan Semasa Menghantar Borang Log Masuk dengan Jsoup

Cara Mengatasi Isu Pengesahan Semasa Menghantar Borang Log Masuk dengan Jsoup

DDD
DDDasal
2024-10-20 13:18:30467semak imbas

How to Overcome Authentication Issues While Submitting Login Forms with Jsoup

Cabaran yang Dihadapi dalam Menghantar Borang Log Masuk dengan Jsoup

Walaupun memasukkan bukti kelayakan log masuk yang sah, anda mungkin menghadapi kesukaran untuk mengakses tapak menggunakan kod yang disediakan. Selepas pelaksanaan, kod gagal untuk mengesahkan, menunjukkan kemungkinan isu.

Satu kemungkinan pengawasan berkaitan dengan keperluan nilai tambahan di luar nama pengguna, kata laluan dan kuki. Khususnya, tapak tersebut memerlukan kemasukan VIEWSTATE dan EVENTVALIDATION.

Untuk menangani perkara ini, dapatkan nilai ini daripada respons permintaan GET awal:

<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>

Sertakan nilai ini ke dalam POST berikutnya permintaan:

<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>

Sertakan medan userAgent untuk memastikan keserasian dengan pemaparan khusus pelayar tapak.

Peningkatan

Untuk mengaktifkan "ingat ciri saya" semasa log masuk:

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

Atas ialah kandungan terperinci Cara Mengatasi Isu Pengesahan Semasa Menghantar Borang Log Masuk dengan Jsoup. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn