powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / авторизация на сайте и вывод данных
15 сообщений из 15, страница 1 из 1
авторизация на сайте и вывод данных
    #39603425
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здравствуйте всем!
собственно сабж, подскажите как надо реализовать?

пока вот что есть может это не правильно но все же.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
public class MyExample {
    public static void main(String[] args) throws IOException {
        String url = "https://qwerty.uz";

        HttpsURLConnection conn = (HttpsURLConnection) new URL(url).openConnection();
        conn.setRequestMethod("GET");
        conn.setUseCaches(false);
        conn.connect();

        StringBuilder sb = new StringBuilder();
        if (HttpsURLConnection.HTTP_OK == conn.getResponseCode()) {
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf8"));

            String line;
            while ((line = in.readLine()) != null) {
                sb.append(line);
                sb.append("\n");
            }
            System.out.println(sb.toString());
            
        } else {
            System.out.println("fail: " + conn.getResponseCode() + ", " + conn.getResponseMessage());
        }
    }
}



скорее Basic authentication не подходит, потому что когда пытался получить данные с помощью REST плагинов браузера получаю 500 ошибку даже указав логин пароль, до тех пор пока с баузера не захожу и не авторизуюсь на сайте.
...
Рейтинг: 0 / 0
авторизация на сайте и вывод данных
    #39603426
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пожалуйста модератор другую удалите...
...
Рейтинг: 0 / 0
авторизация на сайте и вывод данных
    #39603431
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффарпожалуйста модератор другую удалите...
А ты смешной:
http://www.sql.ru/forum/actualutils.aspx?action=notifymod&msg=21198604
...
Рейтинг: 0 / 0
авторизация на сайте и вывод данных
    #39603432
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczА ты смешной:
http://www.sql.ru/forum/actualutils.aspx?action=notifymod&msg=21198604

ну не знал... спасибо! )
...
Рейтинг: 0 / 0
авторизация на сайте и вывод данных
    #39603440
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффарскорее Basic authentication не подходит
А через гугл?
httpurlconnection basic authentication example
...
Рейтинг: 0 / 0
авторизация на сайте и вывод данных
    #39603566
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Музаффарскорее Basic authentication не подходит
А через гугл?
httpurlconnection basic authentication example

вроде так?

Код: java
1.
2.
        String userpassword = "login" + ":" + "password";
        conn.setRequestProperty("Authorization", "Basic " + Base64.getEncoder().encodeToString(userpassword.getBytes()));



но получаю 500
...
Рейтинг: 0 / 0
авторизация на сайте и вывод данных
    #39603583
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффарвроде так?
а ссылка где?
Будем гуглу обучать?
...
Рейтинг: 0 / 0
авторизация на сайте и вывод данных
    #39603604
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

извините, но я вас не понимаю...
...
Рейтинг: 0 / 0
авторизация на сайте и вывод данных
    #39603606
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
протестировал всякие варианты если:

1) в пакмане (или ещё что нибудь типа REST Client браузера и т.д.) ввожу сам запрос типа и Basic Authentication, то получаю ошибку 500

2) немножко изменим алгоритм, сначала заходим в
Код: plaintext
и Basic Authentication, и потом сам запрос и мы получаем ответ.

вот как это реализовать в коде?

З.Ы. понимаю возможно это совсем нубский вопрос...
...
Рейтинг: 0 / 0
авторизация на сайте и вывод данных
    #39603609
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,

Так посмотри какие header посылает браузер в запросе, чего гадать то? Может там токен какой. Уверен что страница авторизации что то подобное возвращает.
...
Рейтинг: 0 / 0
авторизация на сайте и вывод данных
    #39603621
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффарпротестировал всякие варианты если:

1) в пакмане (или ещё что нибудь типа REST Client браузера и т.д.) ввожу сам запрос типа и Basic Authentication, то получаю ошибку 500

2) немножко изменим алгоритм, сначала заходим в
Код: plaintext
и Basic Authentication, и потом сам запрос и мы получаем ответ.

вот как это реализовать в коде?

З.Ы. понимаю возможно это совсем нубский вопрос...

В вашем случае похоже на ошибку разработчика сайта.

По идее при вызове https://qwerty.uz/users/client.htm?id=1 (т.е. внутренний защищенный логин и паролем ресурс как я понял) сервер должен редиректить на https://qwerty.uz/login.htm а не выкидывать ошибку.

В коде аналогично делаем запрос на https://qwerty.uz/login.htm и basic authentication парсим ответ и вытаскиваем cookies (обычно этого достаточно). Во всех след. запросах добавляем эту авторизационную куку
...
Рейтинг: 0 / 0
авторизация на сайте и вывод данных
    #39603622
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наверное нужно отметить что кук может быть множество например от счетчиков всяких (гугла и яндеска и так далее) нужно найти ту что присылает именно ваш https://qwerty.uz (отследить не проблема если пользуетесь Ну и еще авторизациооные куки с пометкой httponly (обычно)
...
Рейтинг: 0 / 0
авторизация на сайте и вывод данных
    #39603647
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МузаффарPetro123,

извините, но я вас не понимаю...
Тут уже расписали все.
Я просил ссылку с которой писали код.
И я бы за 10 мин зарустил демку сайт на своей машине для тестов.
- новый проект, jsp
- web.xml галка базовой авторизации.
Всё.
...
Рейтинг: 0 / 0
авторизация на сайте и вывод данных
    #39603721
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Тут уже расписали все.не всё расписали
забыли указать что там https
...
Рейтинг: 0 / 0
авторизация на сайте и вывод данных
    #39603760
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо всем, вроде сделал, но если есть что то изменить то прошу высказаться. может не учитывал ещё некоторые вещи, или вообще не правильно делал...

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
import javax.net.ssl.HttpsURLConnection;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.CookieHandler;
import java.net.CookieManager;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Base64;
import java.util.List;

public class Qwerty  {


    private List<String> cookies;
    private HttpURLConnection conn;

    private final String USER_AGENT = "Mozilla/5.0";

    public static void main(String[] args) throws Exception {

        String url = "https://qwerty.uz";
        String query = "https://qwerty.uz/users/client.htm?id=1";

        Qwerty http = new Qwerty();

        // make sure cookies is turn on
        CookieHandler.setDefault(new CookieManager());

        // 1. Send a "GET" request, so that you can extract the form's data.
        String page = http.GetPageContent(url);

        // 2. Construct above post's content and then send a POST request for
        // authentication
        String p = "login:password";
        http.sendPost(url, p);

        // 3. success then go to query.
        String result = http.GetPageContent(query);
        System.out.println(result);
    }

    private void sendPost(String url, String postParams) throws Exception {
        System.out.println("+++++++++++++++++sendPOST");
        URL obj = new URL(url);
        conn = (HttpsURLConnection) obj.openConnection();

        conn.setUseCaches(false);
        conn.setRequestMethod("POST");
        conn.setRequestProperty("Host", "uty.smpo.uzgps.uz");
        conn.setRequestProperty("User-Agent", USER_AGENT);
        conn.setRequestProperty("Accept",
                "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
        conn.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
        conn.setRequestProperty("Connection", "keep-alive");
        conn.setRequestProperty("Referer", "https://qwerty.uz");
        conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

        conn.setDoOutput(true);
        conn.setDoInput(true);

        conn.setRequestProperty("Authorization", "Basic " + Base64.getEncoder().encodeToString(postParams.getBytes()));

        int responseCode = conn.getResponseCode();
        System.out.println("\nSending 'POST' request to URL : " + url);
        System.out.println("Post parameters : " + postParams);
        System.out.println("Response Code : " + responseCode);

        try (BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()))) {
            String inputLine;
            StringBuilder response = new StringBuilder();
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            // System.out.println(response.toString());
        }

        System.out.println("-----------------sendPOST");
    }

    private String GetPageContent(String url) throws Exception {
        System.out.println("++++++++++++++GetPageContent");
        URL obj = new URL(url);
        conn = (HttpsURLConnection) obj.openConnection();

        // default is GET
        conn.setRequestMethod("POST");

        conn.setUseCaches(false);

        // act like a browser
        conn.setRequestProperty("User-Agent", USER_AGENT);
        conn.setRequestProperty("Accept",
                "text/html,application/xhtml+xml,application/xml, application/json;charset=UTF-8;q=0.9,*/*;q=0.8");
        conn.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
        if (cookies != null) {
            for (String cookie : this.cookies) {
                conn.addRequestProperty("Cookie", cookie.split(";", 1)[0]);
            }
        }
        int responseCode = conn.getResponseCode();
        System.out.println("\nSending 'POST' request to URL : " + url);
        System.out.println("Response Code : " + responseCode);

        StringBuffer response;
        try (BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()))) {
            String inputLine;
            response = new StringBuffer();
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine+"\n");
            }
        }

        // Get the response cookies
        setCookies(conn.getHeaderFields().get("Set-Cookie"));

        System.out.println("------------------GetPageContent");
        return response.toString();

    }

    public void setCookies(List<String> cookies) {
        this.cookies = cookies;
    }

}
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / авторизация на сайте и вывод данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]