У меня проблема с хранением повара ie в Jsoup. Я зашел на основной сайт через JSON, здесь все нормально. У меня проблема, когда я хочу go на следующий дочерний сайт, я ставлю того же повара ie, и это не работает. В моей консоли я вижу, что у меня есть html сайт до входа в систему. Есть идеи, что я должен изменить?
public class MyBenefit {
final static String USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15";
final static String LOGIN_FORM_URL = "https://system.mybenefit.pl/mybenefit/login.html";
final static String LOGIN_ACTION_URL = "https://system.mybenefit.pl/mybenefit/login/by_email";
final static String URL = "https://system.mybenefit.pl/mybenefit/benefit-login-dispatcher.html";
final static String URLQUERY = "https://system.mybenefit.pl/mybenefit/global-search.html?query=";
final static String USERNAME = "xxx";
final static String PASSWORD = "xxx";
public static void main(String[] args) {
try {
Connection.Response loginForm = Jsoup.connect(LOGIN_FORM_URL)
.method(Connection.Method.GET)
.userAgent(USER_AGENT)
.execute();
//here I create json, because json is required to login
JsonBuilderFactory jsonBuilderFactory = Json.createBuilderFactory(Collections.EMPTY_MAP);
JsonObject jsonObject = jsonBuilderFactory.createObjectBuilder()
.add("password", PASSWORD)
.add("captcha", "")
.add("lang", "pl")
.add("email", USERNAME).build();
HashMap<String, String> cookies = new HashMap<>(loginForm.cookies());
Connection.Response homePage = Jsoup.connect(LOGIN_ACTION_URL)
.cookies(cookies)
.ignoreContentType(true)
.requestBody(jsonObject.toString())
.method(Connection.Method.POST)
.userAgent(USER_AGENT)
.execute();
//here I get cookie after logg
String sessionID = homePage.cookie("BENEFIT_SESSIONID");
//this connection is working
Connection.Response afterLogg = Jsoup.connect(URL)
.cookie("BENEFIT_SESSIONID", sessionID)
.execute();
Document document = afterLogg.parse();
//this connection is NOT workingg good, I am not logged on website
Connection.Response test = Jsoup.connect(URLQUERY)
.cookie("BENEFIT_SESSIONID", sessionID)
.execute();
System.out.println(test.parse());
} catch (IOException e) {
e.printStackTrace();
}
}
}
Я проверил инструменты разработчика в Firefox, и URL-адрес страницы и URLQUERY страницы имеют одинаковую кухню ie. Я посылаю несколько фотографий об этом. cook ie после входа в систему по URL cook ie по URLQUERY