HttpClient 和HttpURLConnection 对比
来源:互联网 发布:洗车器价格及图片淘宝 编辑:程序博客网 时间:2024/06/05 06:42
package com.example.administrator.downloadimage;import android.content.Context;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.net.ParseException;import android.util.Log;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.util.EntityUtils;import java.io.BufferedInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;/** * Created by Administrator on 2017/5/4. */public class HttpUtils { // 判断网络是否连接 public static boolean isNetWorkConn(Context context) { // 需要权限:访问网络状态 ConnectivityManager manager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = manager.getActiveNetworkInfo(); if (info != null) { return info.isConnected(); } else { return false; } } // 下载获取数据 public static byte[] httpClientLoadData(String path) { byte[] result = null; try { HttpClient httpClient = new DefaultHttpClient(); HttpGet httpget = new HttpGet(path); HttpResponse response = httpClient.execute(httpget); if (response.getStatusLine().getStatusCode() == 200) { HttpEntity entity = response.getEntity(); result = EntityUtils.toByteArray(entity); } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (ParseException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return result; } // 下载获取数据 public static byte[] httpURLConnLoadData(String path) { // 原生流操作 BufferedInputStream bis = null; ByteArrayOutputStream baos = new ByteArrayOutputStream(); try { HttpURLConnection huc = (HttpURLConnection) new URL(path).openConnection(); huc.setRequestMethod("GET"); huc.connect(); if (huc.getResponseCode() == 200) { bis = new BufferedInputStream(huc.getInputStream()); int i = -1; byte[] bb = new byte[100]; while ((i = bis.read(bb)) != -1) { baos.write(bb, 0, i); baos.flush(); } bis.close(); return baos.toByteArray(); } } catch (IOException e) { e.printStackTrace(); } return null; } // 下载网络数据到本地 public static void httpURLConnectionLoadData(String path) { HttpURLConnection con = null; FileOutputStream fos = null; BufferedInputStream bis = null; try { con = (HttpURLConnection) new URL(path).openConnection(); con.setRequestMethod("GET"); con.setUseCaches(false);// 忽略缓存 // 发送POST请求必须设置如下两行 //con.setDoOutput(true); // 开启输出流 //con.setDoInput(true); //设置超时 con.setConnectTimeout(5000);//连接超时 con.setReadTimeout(5000);//读取数据超时 // 设置通用的请求属性 con.setRequestProperty("Content-type", "application/json"); con.setRequestProperty("Connection", "Keep-Alive"); con.connect(); if (con.getResponseCode() == 200) { bis = new BufferedInputStream(con.getInputStream()); //写入本地工程文件中 fos = new FileOutputStream(new File("my-file.txt")); int len = -1; byte[] bytes = new byte[1024]; while ((len = bis.read(bytes)) != -1) { fos.write(bytes, 0, len); fos.flush(); } } } catch (MalformedURLException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (bis != null) { bis.close(); } if (fos != null) { fos.close(); } } catch (IOException e) { e.printStackTrace(); } } // 关闭连接 con.disconnect(); }}
0 0
- HttpClient 和HttpURLConnection 对比
- HTTPClient和HttpURLConnection实例对比
- HTTPClient和HttpURLConnection实例对比
- HttpClient和HttpURLConnection整合汇总对比
- Android网络请求库对比之HttpUrlConnection和HttpClient
- HttpURLConnection 与 Android HttpClient 对比
- HttpURLConnection和httpclient比较
- HttpURLConnection和HttpClient联网
- HttpURLConnection和HttpClient
- HttpURLConnection和HttpClient联网
- HttpURLConnection、HttpClient和Session
- HttpClient和HttpURLConnection比较
- HttpURLConnection和HttpClient区别
- HttpURLConnection和HttpClient
- HttpURLConnection和HttpClient比较
- 使用HttpURLConnection和HttpClient
- HttpClient和HttpURLConnection用法
- HttpClient 和 HttpUrlConnection 区别
- 剑指offer-41.和为S的连续正数序列
- 2.2 CSS 权重
- 【Bootstrap】—table控件的传参取值
- Redis的安装及使用
- Filter知识总结
- HttpClient 和HttpURLConnection 对比
- (POJ 1990)MooFest 树状数组 求一个数和他前面的所有数的值的差值之和
- ulua 常见问题汇总
- Muduo之TcpConnection源码分析笔记
- 冒泡排序之Java实现
- Java多线程总结
- DB2创建分区表的例子
- 编译安装MySQL数据库系统
- layui动态添加下拉菜单