"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية التغلب على مشكلات المصادقة أثناء إرسال نماذج تسجيل الدخول باستخدام Jsoup

كيفية التغلب على مشكلات المصادقة أثناء إرسال نماذج تسجيل الدخول باستخدام Jsoup

تم النشر بتاريخ 2024-11-07
تصفح:598

How to Overcome Authentication Issues While Submitting Login Forms with Jsoup

التحديات التي تواجه إرسال نماذج تسجيل الدخول باستخدام Jsoup

على الرغم من إدخال بيانات اعتماد تسجيل دخول صالحة، قد تواجه صعوبات في الوصول إلى موقع باستخدام الكود المقدم. عند التنفيذ، تفشل عملية مصادقة التعليمات البرمجية، مما يشير إلى مشكلة محتملة.

يتعلق أحد الإشراف المحتمل بمتطلبات قيم إضافية تتجاوز اسم المستخدم وكلمة المرور وملفات تعريف الارتباط. على وجه التحديد، يتطلب الموقع تضمين VIEWSTATE وEVENTVALIDATION.

لمعالجة ذلك، قم باسترداد هذه القيم من استجابة طلب GET الأولي:

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");

ادمج هذه القيم في طلب POST اللاحق:

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();

قم بتضمين حقل userAgent لضمان التوافق مع العرض الخاص بمتصفح الموقع.

التحسينات

لتنشيط "تذكر" ميزة me" أثناء تسجيل الدخول:

.data("myLogin$myEnableAutoLogin", "on")
بيان الافراج يتم استنساخ هذه المقالة في: 1729401436 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفه.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3