@youlovejohnny
Студент

Как залогиниться на сайт [java]?

Здравствуйте, пытаюсь залогиниться посредством Java и Jsoup на сайт flymer.ru/login , но ничего не выходит.
Что делаю я:
Document getKeys; // здесь будем загружать сайт, чтобы пропарсить исходник страницы для ключей
 Connection.Response loginForm = null; // здесь будем логинимся
  Document document = null; // здесь будем грузить  страничку после логина
        
   String fkey =""; // один из ключей, которых передает форма
   String lkey ="";// один из ключей, которых передает форма
   String URL = "http://flymer.ru/login";  // ссылка на страницу с формой логина
   String mail = "почта";
   String password = "пароль";
        
try {
  getKeys = Jsoup.connect("http://flymer.ru/login").get(); // открываем страницу
   fkey = getKeys.select("input[name=fkey]").get(0).attr("value"); // берем значения fkey
    lkey = getKeys.select("input[name=lkey]").get(0).attr("value");// берем значение lkey
     loginForm = Jsoup.connect("http://flymer.ru/request/login") // логинимся, ссылка взята из атрибута action формы
                    .userAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59 Safari/537.36 OPR/41.0.2353.46")
                    .data("email", mail) // заполняем данные формы
                    .data("pass", password)
                    .data("agree","1")
                    .data("fkey",fkey)
                    .data("lkey",lkey)
                    .data("dkey",dkey)
                    .method(Connection.Method.POST) // метод POST
                    .execute(); 

// открываем новую страницу уже залогинившись
            document  = Jsoup.connect("http://flymer.ru/bin").cookies(loginForm.cookies()).get(); 
 }catch(IOException ie)
        {

            ie.printStackTrace();
        }


Оно, наверное, и понятно почему не работает: отправляются не все данные формы (а может и еще что), но третий key отсутствует в html страничке.
Так вот, друзья, как сделать это правильно, и чтобы работало?
И чтобы сохранить возможность дальнейшего парсинга страниц уже залогинившись.

А вот и сама картинка запроса:
e952dd6887f44dbbb6f5bea2b7eeea5f.PNG
  • Вопрос задан
  • 1504 просмотра
Пригласить эксперта
Ответы на вопрос 1
al_gon
@al_gon
Url в браузере не совпадает: flymer.ru/req/login?ts=1478529207003

User-agent нет.

Это то что сразу увидел.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы