Yeo
@Yeo

Как авторизоваться на сайте (Java)?

Приветствую участников форума.

Пишу "парсер" страницы, и столкнулся с некоторой проблемой. Чтобы вытянуть нужные мне данные, сначала нужно авторизироваться. Перерыл множество ру/eng ресурсов и, к сожалению не смог найти подходящего решения.

Единственное, на мой взгляд, похожее решение представлено ниже: (но и оно не срабатывает)

private static void logIn () {
        DefaultHttpClient httpclient = new DefaultHttpClient();

        try {
            HttpPost httpost = new HttpPost("https://passport.ageofclones.com/index.php/");

            List <NameValuePair> nvps = new ArrayList <NameValuePair>();
            nvps.add(new BasicNameValuePair("username", "xxxxxxx"));
            nvps.add(new BasicNameValuePair("password", "yyyyyyy"));

            httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));

            ResponseHandler<String> responseHandler = new BasicResponseHandler();
            String responseBody = httpclient.execute(httpost, responseHandler);
            System.out.println("----------------------------------------");
            System.out.println(responseBody);
            System.out.println("----------------------------------------");

        } catch (IOException e) {
            System.out.println(String.format("(login) Ошибка! — %s : %s", e.getClass().getSimpleName(), e.getMessage()));
        } finally {
            httpclient.getConnectionManager().shutdown();
        }
    }


В чем проблема? И как все же авторизоваться на сайте.
  • Вопрос задан
  • 2105 просмотров
Решения вопроса 1
Точно не понял что хотел, но я бы взял Jsoup, прогугли может это то что нужно)
На всякий: POST запрос для авторизации, после ответа сохранить куки где нибудь, и в каждом следующем запросе(GET POST...) передавать куки.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Rou1997
@Rou1997
Для вас, как и многих другие, решение - это научиться отлаживать сетевые приложения, речь как о вашем приложении так и об оригинальной странице в браузере, для этого сниффер нужен, их множество, Fiddler, Wireshark и т.п., если не научитесь, то никогда не сможете полноценно этим заниматься. У меня всё.
Ответ написан
lxsmkv
@lxsmkv
Test automation engineer
э-э-э... Selenium же. Или я что-то недопонял в задаче.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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