[java] jsoup पोस्टिंग और कुकी


1 Answers

//This will get you the response.
Response res = Jsoup
    .connect("loginPageUrl")
    .data("loginField", "login@login.com", "passField", "pass1234")
    .method(Method.POST)
    .execute();

//This will get you cookies
Map<String, String> loginCookies = res.cookies();

//And this is the easiest way I've found to remain in session
Document doc = Jsoup.connect("urlYouNeedToBeLoggedInToAccess")
      .cookies(loginCookies)
      .get();
Question

मैं किसी साइट पर लॉगिन करने के लिए jsoup का उपयोग करने की कोशिश कर रहा हूं और फिर जानकारी को स्क्रैप कर रहा हूं, मैं किसी समस्या में भाग रहा हूं, मैं सफलतापूर्वक लॉगिन कर सकता हूं और index.php से एक दस्तावेज़ बना सकता हूं लेकिन मुझे साइट पर अन्य पेज नहीं मिल सकते हैं। मुझे पता है कि मुझे पोस्ट करने के बाद कुकी सेट करने की आवश्यकता है और फिर जब मैं साइट पर एक और पेज खोलने की कोशिश कर रहा हूं तो इसे लोड करें। लेकिन मैं यह कैसे करूँ? निम्नलिखित कोड मुझे लॉगिन करने और index.php प्राप्त करने देता है

Document doc = Jsoup.connect("http://www.example.com/login.php")
               .data("username", "myUsername", 
                     "password", "myPassword")
               .post();

मुझे पता है कि मैं ऐसा करने के लिए अपाचे httpclient का उपयोग कर सकता हूं लेकिन मैं नहीं चाहता।




यहां आप कोशिश कर सकते हैं ...

import org.jsoup.Connection;


Connection.Response res = null;
    try {
        res = Jsoup
                .connect("http://www.example.com/login.php")
                .data("username", "your login id", "password", "your password")
                .method(Connection.Method.POST)
                .execute();
    } catch (IOException e) {
        e.printStackTrace();
    }

अब अपनी सभी कुकीज़ को सहेजें और अपने इच्छित पेज पर अनुरोध करें।

//Store Cookies
cookies = res.cookies();

दूसरे पेज पर अनुरोध करना

try {
    Document doc = Jsoup.connect("your-second-page-link").cookies(cookies).get();
}
catch(Exception e){
    e.printStackTrace();
}

पूछें कि आगे की मदद की ज़रूरत है या नहीं।




Related