java class 优先将网页读入 Android 下的字符串

Which java class is preferred to read a web page into a string under Android

我见过很多解决方案,但不确定哪种是首选方法或 class 可以使用,包括导入和库?我更喜欢使用原生 Android 库,我正在使用 API 23,但这可以更改。

这甚至不一定是 Android 问题。如果您的目标只是获得网页的 String 表示(不解析),您应该能够使用 Java SE 中也存在的 类,例如 URL InputStream 没有任何问题。

比如(这里没有做异常处理,需要自己做)。您可以使用 try-with-resources 或在 finally 块中完成后关闭连接/输入流。

// create the url object and open the connection
URL url = new URL("http://somewhere.com");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();

// read the webpage  a line at a time and append it to a `StringBuilder`
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
    sb.append(line);
}
// here is the html
String html = sb.toString();