核心代码
String htmlUrl ="http://www.baidu.com";
URL url = null;
HttpURLConnection conn = null;
int respCode = 404;
InputStream is = null;
try {
url = new URL(htmlUrl);
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5 * 1000);
respCode = conn.getResponseCode();
if (respCode == 200) {
is = conn.getInputStream();
byte[] htmlBytes = StreamTools.in2bytes(is);
String temp = new String(htmlBytes);
// 比较白痴的获取charset的方法
int s = temp.indexOf("charset=") + "charset=".length();
int e = temp.indexOf("\"", s);
String charset = temp.substring(s, e);
Log.i(LOG_TAG, charset);
tvContent.setText(new String(htmlBytes, charset));
Log.i(LOG_TAG, new String(htmlBytes, charset));
}
} catch (Exception e) {
Log.i(LOG_TAG, e.getMessage());
e.printStackTrace();
}
工具类 StreamTools
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
public class StreamTools {
public static byte[] in2bytes(InputStream is) throws Exception {
// 1、定义缓冲区
// 2、定义字节输出流
// 3、循环
byte[] buffer = new byte[1024];
int len = 0;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
while ((len = is.read(buffer)) != -1) {
baos.write(buffer, 0, len);
}
is.close();
baos.flush();
return baos.toByteArray();
}
}