Java 下载 html

标签 java android

我正在尝试下载网站的 html:

    String encoding = "UTF-8";

HttpContext localContext = new BasicHttpContext();

    HttpClient httpclient = new DefaultHttpClient();

HttpGet httpget = new HttpGet(MYURL);

httpget.setHeader("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3");


HttpResponse response = httpclient.execute(httpget, localContext);

HttpEntity entity = response.getEntity();

InputStream instream = entity.getContent();

String html = getStringFromInputStream(encoding, instream);

在 html 字符串的 and 中我得到:

...
21912
0
0

我没有得到完整的 html,知道如何修复吗?

编辑

private static String getStringFromInputStream(String encoding, InputStream instream) throws UnsupportedEncodingException, IOException {

Writer writer = new StringWriter();


char[] buffer = new char[1024];

try {

Reader reader = new BufferedReader(new InputStreamReader(instream, encoding));

int n;

while ((n = reader.read(buffer)) != -1) {

writer.write(buffer, 0, n);

}

} finally {

instream.close();

}

String result = writer.toString();

return result;
}

最佳答案

我建议使用EntityUtils :

HttpEntity entity = response.getEntity();
String html = EntityUtils.toString(entity);

HttpEntity entity = response.getEntity();
String html = EntityUtils.toString(entity, encoding);

关于Java 下载 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17300266/

相关文章:

android - 如何修改 android master/detail Activity 中的虚拟内容?

一个项目的 Android Studio 多窗口

java - Resource 标签中不需要提到存档的名称吗?

Java - 生成长度为x的字符串

java - Android Studio - ImageView下方的TextView

android - 如何向我的 UI 添加填充,以避免在横向时被显示切口遮挡?

android - LinearLayout$LayoutParams 不能转换为 CoordinatorLayout$LayoutParams

java - 将文本框设置在同一直线上

java - 如何延迟动画移动jlabel java swing?

Java发送电子邮件,获取错误