2015-05-21 2 views
-2

Я хочу получить данные от https://my.playstation.com/logged-in/my-profile/.Я не понимаю этого http get

Я проанализировал сайт с Firebug и я получил следующие результаты:

Firebug screenshot

Как вы можете видеть, что есть GET /playstation/psn/profile/psnloginbar?0.27654...

Я попытался сделать:

String url = "/playstation/psn/profile/psnloginbar?0.3596450921613723&_=1432238143275"; 
URL obj = new URL(url); 
HttpURLConnection con = (HttpURLConnection) obj.openConnection(); 

con.setRequestMethod("GET"); 
con.setRequestProperty("User-Agent", USER_AGENT); 

int responseCode = con.getResponseCode(); 

Но это не работает.

+5

Объясните, что это не работает. –

+3

Я уверен, что вам нужно передать весь URL. Как еще он узнает, что домен my.playstation.com? – JJJ

+1

Ваш URL 'String' недопустим, он должен иметь (по крайней мере)' https: // my.playstation.com/'префикс к нему, или некоторые из них – MadProgrammer

ответ

0

Модифицированный код, приведенный ниже, является примером успешного соединения. Обратите внимание на полный URL. Я думаю, что ваша следующая проблема заключается в том, что вам нужно будет выяснить способ аутентификации, потому что исходный URL-адрес (/playstation/psn/profile/psnloginbar?0.27654 ...) находится за экраном входа в форму.

String url = "https://www.playstation.com/en-us/"; 
    URL obj = new URL(url); 
    HttpURLConnection con = (HttpURLConnection) obj.openConnection(); 

    con.setRequestMethod("GET"); 
    con.setRequestProperty("User-Agent", USER_AGENT); 
    //This is the http response code : 
    int responseCode = con.getResponseCode(); 

    // To actually get the html body text, read the stream, 
    // below is just one of many ways to to this: 

    BufferedReader in = new BufferedReader(
    new InputStreamReader(obj.openStream())); 

    String inputLine; 
    while ((inputLine = in.readLine()) != null) 
     System.out.println(inputLine); //<-- prints each line of html     
    in.close(); 
+0

хорошо благодарим, плохо пытайтесь войти в систему, но после этого, как я могу получить информацию, которую они ищут? потому что он не отображается в html как обычный текст, может быть с jquery? pd: им новый с этим. –

+0

con.getResponseCode(); даст вам только код ответа http. 200 = ОК, 301 означает перенаправление ... и т. Д. Вам нужно действительно прочитать InputStream, чтобы получить содержимое html в теле. Измените ответ. – Vinny

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