Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 авторизация на сайте и cookies после редиректа  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1092
Всем доброго!
есть некий сайт (к большому сожалению доступ закрыть из вне по этому не кидаю ссылку, если очень надо то могу :))
и так надо авторизоваться.
когда в браузере смотрю то вижу что мои данные отправляются (т.е. логин/пароль) на некую страницу .../api/login
и в браузере вижу в Хидерах Request Payload и там мои данные в виде json
дальше уже редирект на другую страницу ...my-numbers

в браузере при авторизации точнее в .../api/login в хидерах приходят куки laravel_session
скопировав этот кук в Postman и запрашивая страницу я честно получаю нужную т.е. прохожу авторизацию
но когда программно это делаю не получается скорее куки не те беру хз...

final OkHttpClient client = new OkHttpClient();
        FormBody.Builder formBuilder = new FormBody.Builder();

// dynamically add more parameter like this:
        formBuilder.add("_lang", "ru");
        formBuilder.add("_back_url", "");
        formBuilder.add("email", "rasulovmuzaffar@gmail.com");
        formBuilder.add("password", "20011987");

        RequestBody formBody = formBuilder.build();

        Request request = new Request.Builder()
                .url("http://poisk-vagona.uzrailway.uz/api/login")
                .post(formBody)
                .build();

        HashSet<String> cookies = new HashSet<>();
        Map<String, String> map = new HashMap<>();

        try (Response response = client.newCall(request).execute();) {
            System.out.println("/////////////////////");
            System.out.println(">>>>>>>>>>>> " + response.priorResponse().headers());
            System.out.println("/////////////////////");
            System.out.println(response.headers());
            if (!response.headers("Set-Cookie").isEmpty()) {
                for (String header : response.headers("Set-Cookie")) {
                    cookies.add(header);
                    System.out.println(header);
                }
            }


            System.out.println(">>>> "+response.header("Set-Cookie"));

        } catch (IOException e) {
            e.printStackTrace();
        }


не подходят куки ни от priorResponse и ни от основного
19 сен 19, 07:35    [21973802]     Ответить | Цитировать Сообщить модератору
 Re: авторизация на сайте и cookies после редиректа  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1092
упс, изза не внимательности отправил не нужную инфу... )
19 сен 19, 07:36    [21973803]     Ответить | Цитировать Сообщить модератору
 Re: авторизация на сайте и cookies после редиректа  [new]
qi_ip
Member

Откуда:
Сообщений: 577
Код ошибки смотрите, возможно по коду поймете, что не передается/получается.
19 сен 19, 11:32    [21974016]     Ответить | Цитировать Сообщить модератору
 Re: авторизация на сайте и cookies после редиректа  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1092
qi_ip,

никаких эксепшенов никаких эрроров, статус всегда 200
19 сен 19, 12:47    [21974126]     Ответить | Цитировать Сообщить модератору
 Re: авторизация на сайте и cookies после редиректа  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2144
Музаффар
упс, изза не внимательности отправил не нужную инфу... )
перепиши вопрос.
Откуда мы знаем что тут лишнее))))
19 сен 19, 13:03    [21974153]     Ответить | Цитировать Сообщить модератору
 Re: авторизация на сайте и cookies после редиректа  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1092
PetroNotC Sharp,

на это можно не обращать внимание )
19 сен 19, 13:13    [21974168]     Ответить | Цитировать Сообщить модератору
 Re: авторизация на сайте и cookies после редиректа  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2144
Музаффар
PetroNotC Sharp,

на это можно не обращать внимание )
тогда что может быть проще.
Ставим сниффер и сравниваем а) браузер и б) твоя самописка
Давай скрины одинаковости А и Б.
19 сен 19, 13:48    [21974242]     Ответить | Цитировать Сообщить модератору
 Re: авторизация на сайте и cookies после редиректа  [new]
chpasha
Member

Откуда:
Сообщений: 8446
кода, якобы передающего полученные куки, по-прежнему не видать. продолжаем гадать, что не так
19 сен 19, 13:58    [21974262]     Ответить | Цитировать Сообщить модератору
 Re: авторизация на сайте и cookies после редиректа  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1092
chpasha,

не думаю что код поможет хотя вот
            cookies.forEach((v) -> {
                map.put("Cookie", v);
            });


        Headers headers = Headers.of(map);


        Request req = new Request.Builder().url("http://test.uz/")
//                .addHeader("Cookie", str)
                .headers(headers)
                .build();
        try (Response resp = client.newCall(req).execute();) {
            System.out.println(resp.body().string());
        } catch (IOException e) {
            e.printStackTrace();
        }
19 сен 19, 14:38    [21974315]     Ответить | Цитировать Сообщить модератору
 Re: авторизация на сайте и cookies после редиректа  [new]
chpasha
Member

Откуда:
Сообщений: 8446
Музаффар
не думаю что код поможет хотя

вот именно, хотя. а теперь подумай - сервер говорит клиенту "установи такие-то и сякие-то куки". а теперь вопрос - где по-твоему сервер ожидает после этого найти эти куки? неужели в хедере нового запроса?
19 сен 19, 14:46    [21974327]     Ответить | Цитировать Сообщить модератору
 Re: авторизация на сайте и cookies после редиректа  [new]
chpasha
Member

Откуда:
Сообщений: 8446
chpasha
неужели в хедере нового запроса?

хотя нет, я не прав - в хедере по идее тоже должны работать
19 сен 19, 14:49    [21974331]     Ответить | Цитировать Сообщить модератору
 Re: авторизация на сайте и cookies после редиректа  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1092
chpasha,

смотри вот куки то что получаю при авторизации которых просто скопировав на постман могу проходит как авторизованный пользователь...

К сообщению приложен файл. Размер - 25Kb
19 сен 19, 14:58    [21974341]     Ответить | Цитировать Сообщить модератору
 Re: авторизация на сайте и cookies после редиректа  [new]
chpasha
Member

Откуда:
Сообщений: 8446
надо, как советовал Petro сравнить внимательно, что шлет Postman и что ты (для этого включить логгинг в okhttp)
19 сен 19, 15:22    [21974368]     Ответить | Цитировать Сообщить модератору
 Re: авторизация на сайте и cookies после редиректа  [new]
chpasha
Member

Откуда:
Сообщений: 8446
map.put("Cookie", v);

У тебя же простая мапа, т.е. у тебя просто последний замещае все предыдущие? Т.е. ты шлешь не все куки, а только один
19 сен 19, 15:34    [21974383]     Ответить | Цитировать Сообщить модератору
 Re: авторизация на сайте и cookies после редиректа  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1092
chpasha
map.put("Cookie", v);

У тебя же простая мапа, т.е. у тебя просто последний замещае все предыдущие? Т.е. ты шлешь не все куки, а только один


да но нужную шлёт, потом исправил мапу но все равно
19 сен 19, 16:57    [21974487]     Ответить | Цитировать Сообщить модератору
 Re: авторизация на сайте и cookies после редиректа  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1092
PetroNotC Sharp
Музаффар
PetroNotC Sharp,

на это можно не обращать внимание )
тогда что может быть проще.
Ставим сниффер и сравниваем а) браузер и б) твоя самописка
Давай скрины одинаковости А и Б.


не одинаковы... там левая часть запрос с сайта, а правая через код

К сообщению приложен файл. Размер - 143Kb
19 сен 19, 20:28    [21974698]     Ответить | Цитировать Сообщить модератору
 Re: авторизация на сайте и cookies после редиректа  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2144
Музаффар,
"Программисты едят слона по частям" — где твой анализ картинок или вопрос?
То есть например, как мне вставить вместо куки текст константу?
Или что?
Зы.
Если взлом, то имей ввиду что сервер в куках зашивает время. Поэтому пока ты вставляешь время протухнет и тебя не пустят.
19 сен 19, 22:01    [21974741]     Ответить | Цитировать Сообщить модератору
 Re: авторизация на сайте и cookies после редиректа  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2144
Музаффар
скопировав этот кук
на картинке покахывай какой. А как ты хотел? Это не разработка ИС. Это взлом.
19 сен 19, 22:14    [21974748]     Ответить | Цитировать Сообщить модератору
 Re: авторизация на сайте и cookies после редиректа  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2144
Музаффар
так надо авторизоваться.
имхо это на грани правил форума.
19 сен 19, 22:18    [21974753]     Ответить | Цитировать Сообщить модератору
 Re: авторизация на сайте и cookies после редиректа  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1092
PetroNotC Sharp,

взлома тут нет т.к. я захожу туда со своими данными и все в рамках форума.

в левой части видно куки laravel-session и XSRF-TOKEN
так вот если их взять и с этими же куками зайти через постман или же в программе в хидере прописать вручную и запускать то все проходит успешно. т.е. получается, что у меня что то не то с куками когда авторизуюсь... такая ситуация и в постмане
19 сен 19, 23:54    [21974815]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить