E
E
Eugene2016-11-07 17:12:52
Java
Eugene, 2016-11-07 17:12:52

How to login to the site [java]?

Hello, I'm trying to log in using Java and Jsoup to the flymer.ru/login site , but nothing comes out.
What do I do:

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();
        }

It is probably understandable why it does not work: not all form data is sent (or maybe something else), but the third key is missing in the html page.
So, friends, how to do it right and make it work?
And to save the possibility of further parsing of pages already logged in.
And here is the picture of the request itself:
e952dd6887f44dbbb6f5bea2b7eeea5f.PNG

Answer the question

In order to leave comments, you need to log in

1 answer(s)
A
al_gon, 2016-11-07
@al_gon

Url in the browser does not match: flymer.ru/req/login?ts=1478529207003
There is no user-agent.
This is what I saw right away.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question