Buongiorno a tutti,
ho un problema con JSOUP non riesco a loggarmi su un sito. Ci ho provato per settimane e da solo non ci salto fuori. Il sito in questione un lerningplattform in Germania perché io vivo in Germania. Login e password sono nel codice e sono stati creati solo per provare questo JSOUP. VI ringrazio in anticipo.
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import java.io.IOException;
import java.util.HashMap;
public class testJSOUP {
public static void main(String[] args) throws IOException {// # Constants used in this example
final String USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36";
final String LOGIN_FORM_URL = "
https://lernplattform.gfn.d";
final String LOGIN_ACTION_URL = "
https://lernplattform.gfn.de/login/index.ph";
final String USERNAME = "test01";
final String PASSWORD = "Thisistestaccount01.";
// # Entra nel sito e prende i dati per il Login
Connection.Response loginForm = Jsoup.connect(LOGIN_FORM_URL).method(Connection.Method.GET)
.userAgent(USER_AGENT).execute();
Document loginDoc = loginForm.parse(); // la conversione dei dati
HashMap<String, String> cookies = new HashMap<>(loginForm.cookies()); // Salva i cookies
// String authToken1 = loginDoc.select("#logintoken > form > div:nth-child(1) > input[type=\"logintoken\"]:nth-child(2)")
// .first().attr("value");
// System.out.println(authToken1);
// # Prepara il token
int authToken;
String takeToken = loginDoc.toString();
authToken = takeToken.indexOf("logintoken");
String thisToken = takeToken.substring(authToken + 19, authToken + 51);
System.out.println(thisToken);
HashMap<String, String> anchor = new HashMap<>();
anchor.put("loginbtn", "loginbtn");
anchor.put("rememberusername", "1");
anchor.put("utf8", "e2 9c 93");
anchor.put("username", USERNAME);
anchor.put("password", PASSWORD);
anchor.put("logintoken", thisToken);
// # Now send the form for login
Connection.Response homePage = Jsoup.connect(LOGIN_ACTION_URL).cookies(cookies).data(anchor)
.method(Connection.Method.POST).userAgent(USER_AGENT).execute();
System.out.println(homePage.parse());
}
}