2017-02-16 1 views
1

Wenn ich versuche, html mit dieser Methode zum Download:Kann Download HTML nicht in Android Studio

public class DownloadHtml extends AsyncTask<String, Void, String> { 

    @Override 
    protected String doInBackground(String... urls) { 
     String result = ""; 
     URL url; 
     HttpURLConnection connection = null; 
     try { 
      url = new URL(urls[0]); 
      connection = (HttpURLConnection) url.openConnection(); 
      InputStream inputStream = connection.getInputStream(); 
      InputStreamReader reader = new InputStreamReader(inputStream); 
      int data = reader.read(); 
      while (data != -1) { 
       char currentChar = (char) data; 
       result += currentChar; 
       data = reader.read(); 
      } 
      return result; 
     } catch (Exception e) { 
      e.printStackTrace(); 
      return "Failed"; 
     } 
    } 
} 

und ein Ergebnis

 DownloadHtml downloadHtml = new DownloadHtml(); 
    String result = null; 
    try { 
     result = downloadHtml.execute("http://stackoverflow.com").get(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    Log.i("Html", result); 

Protokollierung ich nur kleinen Teil davon bin Gettin. Gibt es eine Möglichkeit, den gesamten HTML-Code einer Webseite zu erhalten?

+0

Ihr Code sollte (ineffizient) funktionieren. Denken Sie daran, dass viele Seiten viel Inhalt haben, der dynamisch mit Javascript erzeugt wird, mit dem Ihr Code nicht umgehen kann. –

+0

Ja, ich habe es bemerkt Es ist ziemlich langsam, schließlich habe ich eine Webseite mit Namen und Bildern und ich muss einen Link zu Bildern bekommen und Namen bekommen. Um das zu tun, habe ich mir gedacht, dass ich html bekomme und mit Pattern Links bzw. Namen bekomme – Jbwz

Antwort

0

Lösung war einfach. Es sieht so aus, als ob Log.i nicht alles auf einmal ausdruckt. Wenn ich versucht habe, alle Links von HTML zu bekommen, wurden sie erfolgreich gedruckt.

Verwandte Themen