Ich möchte Jsoup
verwenden, um eine Seite zu durchsuchen, die nur verfügbar ist, wenn ich mich angemeldet habe. Ich schätze, dass ich mich auf einer Seite anmelden und Cookies an eine andere Seite senden muss.
Ich las etwas früheren Beitrag here und schreiben Sie den folgenden Code:Verwenden von Jsoup zum Anmelden und Crawlen von Daten
public static void main(String[] args) throws IOException {
Connection.Response res = Jsoup.connect("login.yahoo.com")
.data("login", "myusername", "passwd", "mypassword")
.method(Method.POST)
.execute();
Document doc=res.parse();
String sessionId = res.cookie("SESSIONID");
Document doc2 = Jsoup.connect("http://health.groups.yahoo.com/group/asthma/messages")
.cookie("SESSIONID", sessionId)
.get();
Elements Eles=doc2.getElementsByClass("message");
String content=Eles.first().text();
System.out.println(content);
Meine Frage ist, wie ich meine Cookie-Namen wissen kann (das heißt „SESSIONID“) hier für meine Login-Infos zu senden? Ich benutzte die .cookies()
Methode alle Cookies von der Login-Seite zu erhalten:
B
DK
YM
T
PH
Y
F
Ich versuchte sie ein um eins, aber keiner hat funktioniert. Ich könnte sessionId von einigen von ihnen bekommen, aber ich konnte nicht erfolgreich Knoten von der zweiten Seite bekommen, was bedeutet, dass ich mich nicht erfolgreich angemeldet habe. Könnte mir jemand einige Vorschläge geben? Danke vielmals!
Yahoo hat viele Cookies, führt Login über https und andere Sicherheitsauswirkungen. – vikiiii