日期:2014-05-17 浏览次数:20806 次
核心代码
?
?
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(); } }