@artshelom

Как посмотреть Cookie??

Как посмотреть куки при ответе? и возвращает ли он вообще куки?
Использую OkHttp, так как делаю для android приложения и должна быть без проблем библиотека
OkHttpClient client = new OkHttpClient.Builder()
                .cookieJar(new CookieJar() {
                    private final HashMap<HttpUrl, List<Cookie>> cookieStore = new HashMap<>();

                    @Override
                    public void saveFromResponse(HttpUrl url, List<Cookie> cookies) {
                        cookieStore.put(url, cookies);
                    }

                    @Override
                    public List<Cookie> loadForRequest(HttpUrl url) {
                        List<Cookie> cookies = cookieStore.get(url);
                        return cookies != null ? cookies : new ArrayList<Cookie>();
                    }
                })
                .build();

        Request request = new Request.Builder()
                .url("https://toster.ru")
                .build();
        String html = null;
        Call call = client.newCall(request);
        try {
            Response response = call.execute();
            html = response.body().string();
        } catch (IOException e) {
            e.printStackTrace();
        }
        List<Cookie> list = client.cookieJar().loadForRequest(HttpUrl.parse("toster.ru"));
        System.out.println(list.size() + " Cookie");//Показывает 0


Такое чувство, что в ответе либо нету куки либо они не записываются)
  • Вопрос задан
  • 536 просмотров
Решения вопроса 1
Если посмотреть на заголовки, которые https://toster.ru/ возвращает, то увидим следующее:
HTTP/1.1 200 OK
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
Date: Thu, 24 Aug 2017 17:14:51 GMT
Keep-Alive: timeout=15
Public-Key-Pins: pin-sha256="klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY=";pin-sha256="ATPF8U6AdEXM7aD9/PTAJldZj9jI6NWEvRGMbDJiN3g="; max-age=15552000
Server: QRATOR
Strict-Transport-Security: max-age=31536000
Transfer-Encoding: chunked
X-Powered-By: PHP/5.6.20-1+deb.sury.org~trusty+1

Как видишь, Тостер не выставляет куки сразу. Это можно судить по отсутствию заголовка Set-Cookie. Было бы странно, если бы твой код нашёл какие-то куки.

Замени https://toster.ru и toster.ru на https://github.com, например.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы