Android HttpClient和URLConnection两种下载HTML源码的方法
2012-04-06 01:19
465 查看
两种方法分别采用HttpClient和URLConnection,同时解决乱码问题。
经真机测试,好像是HttpClient方式比较稳定,一般都能下载到,但是URLConnection在EDGE网络下经常下不到数据。
HttpClient方式:
public String getHtml(String url) throws
IOException, URISyntaxException{
URI u=new URI(url);
DefaultHttpClient httpclient =new DefaultHttpClient();
HttpGet httpget =new HttpGet(u);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String content = httpclient.execute(httpget, responseHandler);
content = new String(content.getBytes("ISO-8859-1"),"UTF-8"); //没这个会乱码
return content;
}
URLConnection方式:
public String getHTML(String url) {
try{
URL newUrl=new URL(url);
URLConnection connect=newUrl.openConnection();
connect.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
DataInputStream dis=new DataInputStream(connect.getInputStream());
BufferedReader in = new BufferedReader(new InputStreamReader(dis,"UTF-8"));//目标页面编码为UTF-8
String html="";
String readLine=null;
while((readLine=in.readLine())!=null){
html=html+readLine; }
in.close();
return html;
}
catch(MalformedURLException me){ }
catch(IOException ioe){ }
return null;}
经真机测试,好像是HttpClient方式比较稳定,一般都能下载到,但是URLConnection在EDGE网络下经常下不到数据。
HttpClient方式:
public String getHtml(String url) throws
IOException, URISyntaxException{
URI u=new URI(url);
DefaultHttpClient httpclient =new DefaultHttpClient();
HttpGet httpget =new HttpGet(u);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String content = httpclient.execute(httpget, responseHandler);
content = new String(content.getBytes("ISO-8859-1"),"UTF-8"); //没这个会乱码
return content;
}
URLConnection方式:
public String getHTML(String url) {
try{
URL newUrl=new URL(url);
URLConnection connect=newUrl.openConnection();
connect.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
DataInputStream dis=new DataInputStream(connect.getInputStream());
BufferedReader in = new BufferedReader(new InputStreamReader(dis,"UTF-8"));//目标页面编码为UTF-8
String html="";
String readLine=null;
while((readLine=in.readLine())!=null){
html=html+readLine; }
in.close();
return html;
}
catch(MalformedURLException me){ }
catch(IOException ioe){ }
return null;}
相关文章推荐
- Android HttpClient和URLConnection两种下载HTML源码的方法
- Android HttpClient和URLConnection两种下载HTML源码的方法
- Android开发之HttpClient异步请求数据的方法详解【附demo源码下载】
- Android网络连接的两种方法:apache client和httpurlconnection的比较 分类: H1_ANDROID 2013-10-13 23:23 640人阅读 评论(0) 收藏
- Android网络连接的两种方法:apache client和httpurlconnection的比较
- Android网络连接的两种方法:apache client和httpurlconnection的比较
- Android学习指南之三十:使用URLConnection和HttpClient访问网络的方法
- Android网络连接的两种方法:apache client和httpurlconnection的比较
- 获取网上数据的两种方法HttpURLConnection和HttpClient
- Android网络连接的两种方法:apache client和httpurlconnection的比较
- android 联网请求的两种方式HttpURLConnection和HttpClient
- Android网络连接的两种方法:apache client和httpurlconnection的比较
- 基于mars老师视频,android 腾讯微博微博 HttpClient 方法实现上传图片
- 在ArcEngine下实现图层属性过滤的两种方法 转载http://www.gisall.com/html/72/124272-2990.html
- google-http-java-client(android学习篇2源码)
- android获取URLConnection和HttpClient网络请求响应码
- Android HttpClient基本使用方法!!--get和post
- 两种简单的java http请求获取页面源码的方法
- Android HttpClient GET或者POST请求基本使用方法