Отправлять куки с помощью urlconnection

Я пытаюсь войти в Steam с помощью куки. Пробовал 2 способа, первый это:

URL url = new URL("https://steamcommunity.com/");

CookieManager cookieManager = new CookieManager();
CookieHandler.setDefault(cookieManager);
CookieStore cookieStore = cookieManager.getCookieStore();

HttpCookie steamAuthCookie = new HttpCookie("steamMachineAuth*****************", "SteamMachineAuthValue");
steamAuthCookie.setDomain(".steamcommunity.com");
steamAuthCookie.setPath("/");

HttpCookie steamLogin = new HttpCookie("steamLogin", "SteamLoginCookieValue");
steamLogin.setDomain(".steamcommunity.com");
steamLogin.setPath("/");

cookieStore.add(new URI("https://steamcommunity.com/"), steamAuthCookie);
        cookieStore.add(new URI("https://steamcommunity.com/"), steamLogin);

URLConnection urlConnection = url.openConnection();
urlConnection.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");
urlConnection.connect();
urlConnection.getContent();

Не работает, Steam все еще предлагает мне войти, я думал, что URLConnection не поддерживает CookieManager, поэтому я нашел и попробовал второй способ:

URL url = new URL("https://steamcommunity.com/");
URLConnection urlConnection = url.openConnection();
urlConnection.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.8");

String cookie = "steamMachineAuth*****************=****************************************;steamLogin=**************************************************************";
urlConnection.setRequestProperty("Cookie",cookie);

urlConnection.connect();
urlConnection.getContent();

И все же steam предлагает мне войти. Застрял в этом, даже не знаю, как проверить - отправлены куки или нет. Как правильно отправлять куки?

1 ответ

Установите сетевой анализатор, например Wireshark, войдите в систему вручную, чтобы войти в ваш браузер и проанализировать отправленные данные. Сравните это с данными, отправленными вашей Java-программой, байт за байтом.

Другие вопросы по тегам