HttpUrlConnection訪問百度,不知道為什麼返回的url資料有錯,loaddata不出來,之前用模擬器還沒錯,用真機就出不來百度了
阿新 • • 發佈:2019-02-10
不知道為什麼返回的url資料有錯,loaddata不出來,之前用模擬器還沒錯,用真機就出不來百度了
public class HttpThread extends Thread { private final String url; private Handler handler; public WebView webView; public ImageView imageView; public HttpThread(String url, WebView webView, Handler handler) { this.url = url; this.webView = webView; this.handler = handler; } public HttpThread(String url,ImageView imageView,Handler handler) { this.imageView=imageView; this.url =url; this.handler=handler; } @Override public void run() { URL httpUrl = null; try { httpUrl = new URL(url); HttpURLConnection conn = (HttpURLConnection) httpUrl.openConnection(); conn.setReadTimeout(5000); conn.setRequestMethod("GET"); conn.setDoInput(true); conn.connect(); final StringBuffer sb = new StringBuffer(); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));//IO流轉為位元組流 String str; while ((str = reader.readLine()) != null) { sb.append(str); } handler.post(new Runnable() { @Override public void run() { //讀入流,不知道為什麼data有錯,就是sb.tostring有錯 webView.loadData(sb.toString(), "text/html; charset=UTF-8", null); Log.i("ljl", sb.toString()); } }); } catch (IOException e) { e.printStackTrace(); } } }