Bagaimana untuk Menyelesaikan Isu Penyerahan Borang Log Masuk dengan Jsoup dengan Menggabungkan Nilai VIEWSTATE dan EVENTVALIDATION?

Mary-Kate Olsen
Lepaskan: 2024-10-20 13:34:02
asal
929 orang telah melayarinya

How to Resolve Login Form Submission Issues with Jsoup by Incorporating VIEWSTATE and EVENTVALIDATION Values?

Menyelesaikan Isu Penyerahan Borang Log Masuk Menggunakan Jsoup

Walaupun menyerahkan bukti kelayakan log masuk yang betul, kod yang disediakan gagal untuk mengesahkan pengguna dan memaparkan halaman log masuk, menunjukkan potensi isu pelaksanaan.

Satu aspek penting yang tiada dalam kod ialah kemasukan nilai VIEWSTATE dan EVENTVALIDATION. Nilai-nilai ini diperlukan oleh tapak web untuk log masuk dan boleh diambil 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>
Salin selepas log masuk

Menggabungkan nilai ini ke dalam permintaan POST bersama-sama dengan nama pengguna dan kata laluan memastikan log masuk berjaya:

<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>
Salin selepas log masuk

Selain itu, menambah medan userAgent pada permintaan GET dan POST mensimulasikan penyemak imbas dan memastikan konsistensi dengan respons yang diterima pada log masuk manual.

Secara pilihan, medan ingat saya boleh didayakan oleh menambah baris berikut pada permintaan POST:

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

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Isu Penyerahan Borang Log Masuk dengan Jsoup dengan Menggabungkan Nilai VIEWSTATE dan EVENTVALIDATION?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!