2011-08-18 95 views
0

我试图获取HTML内容,除了1件事以外,所有的工作都可以找到。它不下载整个代码并跳过我想要提取的内容(对图像,名称进行url搜索),并且只是空白课程'obrazek'。源代码html没有完整下载

这是我用来获取源代码的代码:

 String SourceCode(String adres) throws IllegalStateException, IOException 
{ 

    HttpClient httpClient = new DefaultHttpClient(); 
    HttpContext localContext = new BasicHttpContext(); 
    HttpGet httpGet = new HttpGet(adres); 
    HttpResponse response = null; 
    try { 
     response = httpClient.execute(httpGet, localContext); 
    } catch (ClientProtocolException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    BufferedReader reader = new BufferedReader(
      new InputStreamReader(response.getEntity().getContent() 
        ) 
      ); 
    String result = ""; 
    while(reader.readLine() != null) 
    { 
     result += reader.readLine(); 
    } 
    reader.close(); 
    return result; 

感谢您的帮助:)

+0

如果可能的话,看看Apache Commons或一些HTML解析器将InputStream转换为String(我不知道是否适用于Android)。比使用BufferedReader快得多。我做了一个webcrawler,使用BufferedReader太慢了。 –

回答

3

您跳过每次一行。应该

StringBuilder result = new StringBuilder(); 
String line; 
while((line = reader.readLine()) != null) 
{ 
    result.append(line); 
} 
reader.close(); 
return result.toString(); 

顺便说一句 - 我以前StringBuilder,以避免新的String对象的创建每个迭代 - 很推荐。

+0

谢谢!完美的作品:)我没有注意到这个错误;/ – arathunku

+0

@arathunku - 你欢迎:) – MByD