2014-02-13 5 views
1

Я пытаюсь проверить состояние потока SHOUTcast, используя этот URL:Синтаксический SHOUTcast на Android

http://85.17.167.136:8684/7.html 

... который возвращает данные, такие как:

<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>7,1,77,100,7,128,+44(0)7908 340 811 Follow Us @visionradiouk</body></html> 

Я знаю, что после первой запятой возвращается 1, если поток запущен и работает или возвращает 0, если поток не работает. Моя проблема заключается в получении html этой страницы? Я использую этот код, который работает на других сайтах, таких как Google и т. Д.

TextView tView = (TextView) findViewById(R.id.textView1); 


String htmlCode = ""; 

try { 
    URL url = new URL("http://85.17.167.136:8684/7.html"); 
    BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); 

    String inputLine; 

    while ((inputLine = in.readLine())!= null) 
     htmlCode += inputLine; 
    System.out.println(htmlCode); 
    tView.setText(htmlCode); 
    in.close();  
} catch (Exception e){ 
    System.out.println("error"); 
} 


} 

Любые идеи о том, что я делаю неправильно?

+0

Кстати, я пытался другие решения от это и другие форумы, но у них, похоже, есть ошибки, возможно, это старый код, который устарел. – Pulsarman325

+1

DI сделал то, что мне было нужно, следуя этому http://stackoverflow.com/questions/9388560/read-shoutcasts-7-html-with-java, который показывает этот код. URL url = новый URL ("http://molestia.ponify.me:8062/7.html"); URLConnection con = url.openConnection(); con.setRequestProperty («User-Agent», «Mozilla/5.0»); // Этот баггер прямо здесь спас день! Считыватель r = новый InputStreamReader (con.getInputStream()); StringBuilder buf = new StringBuilder(); while (true) { int ch = r.read(); if (ch <0) break; buf.append ((char) ch); } Строка str = buf.toString(); Log.d («HTML», str); – Pulsarman325

+0

Извините, мой последний комментарий не отформатирован должным образом, я пользуюсь телефоном, и нажатие на возврат не дает мне новую строку, чтобы добавить пробелы для кода. – Pulsarman325

ответ

0

рабочий раствор ЭРВО Pulsarman325, в прибрано, с небольшим количеством дополнительного материала я должен был добавить, чтобы заставить его работать (попробуйте/поймать и переменную инициализацый)

String url = "http://molestia.ponify.me:8062"; 

URL url2=null; 

try 
{ 
    url2 = new URL(url + "/7.html"); 

} 

catch (MalformedURLException e1) 
{ 
    e1.printStackTrace(); 
} 

URLConnection con=null; 

try 
{ 
    con = url2.openConnection(); 
} 

catch (IOException e1) 
{ 
    e1.printStackTrace(); 

} 

con.setRequestProperty("User-Agent", "Mozilla/5.0"); 

Reader r = null; 

try 
{ 
    r = new InputStreamReader(con.getInputStream()); 
} 

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

StringBuilder buf = new StringBuilder(); 

int ch=0; 

while (true) 
{ 
    try 
    { 
     ch = r.read(); 
    } 

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

    if (ch < 0) 
     break; 

    buf.append((char) ch); 

} 

String str = buf.toString(); 

String trackinfo = str.split(",")[6].split("</body>")[0]; 

Log.d("HTML", trackinfo); 
Смежные вопросы