2015-12-24 5 views
1

Я пытаюсь войти в Steam с cookies. Пробовал 2 способами, первый это:отправить файлы cookie с urlconnection

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(); 

Не работает, пара все еще предлагают мне войти в я думал, что 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(); 

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

+0

Возможно, вам потребуется установить больше, чем только один файл cookie. В моем браузере показано 12 файлов cookie для steamcommunity.com, в том числе «steamLogin» и «steamLoginSecure». – VGR

+0

Я знаю, что для исправления логина у меня должно быть 2 файла cookie - steamLogin и SteamMachineAuth. Протестировал его в Chrome - удалил все, кроме этих двух пар, узнал меня, удалил steamLogin или SteamMachineAuth - пара попросил меня войти. – Azi

ответ

0

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

+0

Спасибо, сделаю это, если не будет найдено другого решения. – Azi

Смежные вопросы