1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Quelltext einer Webseite einlesen [Fehler]

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Gepro, 07.03.2012.

  1. Gepro, 07.03.2012 #1
    Gepro

    Gepro Threadstarter Junior Mitglied

    Beiträge:
    25
    Erhaltene Danke:
    0
    Registriert seit:
    01.11.2011
    Hallo,
    Wenn ich den Quelltext/Buffer (hier: content) von einer Webseite einlesen möchte, bekomme ich immer ca. 60-70% des Quelltextes geliefert, nie den kompletten Seiteninhalt.
    Ich habe verschiedene Schreibweisen ausprobiert, aber immer mit dem gleichen Ergebnis.
    Was mache ich hier falsch ?


    Code:
    		URL url = new URL(uri.toString());
    		HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
    		try
    		{
    			InputStream in = new BufferedInputStream(urlConnection.getInputStream());
    			BufferedReader br = new BufferedReader(new InputStreamReader(in));
    			StringBuilder sb = new StringBuilder();
    			String line = null;
    
    			while ((line = br.readLine()) != null) 
    			{
    				sb.append(line + "\n");
    			}
    			br.close();
    
    			this.content = sb.toString();
    		}	   
    		finally
    		{
    			urlConnection.disconnect();
    		}
    
    oder

    Code:
    		HttpGet get = new HttpGet(uri);
    		HttpClient defaultHttp = new DefaultHttpClient(httpParameters);
    		HttpResponse response = defaultHttp.execute(get);
    
    		StatusLine status = response.getStatusLine();
    		if(status.getStatusCode() == HttpStatus.SC_OK)
    		{
    			HttpEntity entity = response.getEntity();
    			InputStream stream = entity.getContent();
    		        String encoding = "utf-8";		
    
    			//long length = entity.getContentLength();
    			//if(entity.getContentEncoding() != null)
    			//{
    			//	encoding = entity.getContentEncoding().getValue();
    			//}
    			//if(length > 0)
    			//{
    				byte[] buffer = new byte[1024];
    				long read = 0;
    				do
    				{
    					read = stream.read(buffer);
    					if(read > 0)
    					{
    						this.content += new String(buffer, encoding);
    					}
    				}while(read > 0);
    				
    			//}
    		}
    
     

Diese Seite empfehlen