समस्या विवरण:
सही लॉगिन क्रेडेंशियल का उपयोग करने के बावजूद, Jsoup कोड नीचे पोस्ट किया गया लॉगिन पृष्ठ का HTML कोड प्रदर्शित करते हुए, लक्ष्य वेबसाइट में लॉग इन करने में विफल रहता है इसके बजाय।
public void connect() {
try {
Connection.Response loginForm = Jsoup.connect("https://www.capitaliq.com/CIQDotNet/Login.aspx/login.php")
.method(Connection.Method.GET)
.execute();
org.jsoup.nodes.Document document = Jsoup.connect("https://www.capitaliq.com/CIQDotNet/Login.aspx/authentication.php")
.data("cookieexists", "false")
.data("username", "myUsername")
.data("password", "myPassword")
.cookies(loginForm.cookies())
.post();
System.out.println(document);
} catch (IOException ex) {
Logger.getLogger(WebCrawler.class.getName()).log(Level.SEVERE, null, ex);
}
}
समाधान:
उपयोगकर्ता नाम, पासवर्ड और कुकीज़ के अलावा, लक्ष्य वेबसाइट को लॉगिन के लिए दो अतिरिक्त मानों की आवश्यकता होती है: व्यूस्टेट और ईवेंटवैलिडेशन। इन मानों को प्राप्त करने के लिए:
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");
फिर, इन मानों को पोस्ट अनुरोध में जोड़ें (ऑर्डर मायने नहीं रखता):
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();
"रिमेम्बर मी" सुविधा को सक्षम करने के लिए, जोड़ें:
.data("myLogin$myEnableAutoLogin", "on")
इन संशोधनों के साथ, लॉगिन अब उम्मीद के मुताबिक सफल होना चाहिए।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3