/*********************************************** * 网络工具 * * @author chen.lin * @version 1.0 ************************************************/public class HttpUtil extends Activity {    // 正式更新URL    public static final String UPDATE_URL = "http://192.168.0.20:8088/android/update/androidapp/";// 120.86.69.225    private static final String TAG = "HttpUtil";    // 获得Get请求对象request    public static HttpGet getHttpGet(String url) {        HttpGet request = new HttpGet(url);        return request;    }    // 获得Post请求对象request    public static HttpPost getHttpPost(String url) {        HttpPost request = new HttpPost(url);        return request;    }    // 根据请求获得响应对象response    public static HttpResponse getHttpResponse(HttpGet request) throws ClientProtocolException, IOException {        HttpResponse response = new DefaultHttpClient().execute(request);        return response;    }    // 根据请求获得响应对象response    public static HttpResponse getHttpResponse(HttpPost request) throws ClientProtocolException, IOException {        HttpResponse response = new DefaultHttpClient().execute(request);        return response;    }    // 发送Post请求,获得响应查询结果    public static String queryStringForPost(String url) {        HttpPost request = HttpUtil.getHttpPost(url);        HttpParams httpParameters = new BasicHttpParams();        HttpConnectionParams.setConnectionTimeout(httpParameters, 10000);        HttpConnectionParams.setSoTimeout(httpParameters, 10000);        DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);        Logger.i(TAG, url);        String result = null;        try {            // HttpUtil.getHttpResponse(request);//原方法,没做网络超时处理            HttpResponse response = httpClient.execute(request);// 新方案,做了网络超时设置            // 判断是否请求成功            if (response.getStatusLine().getStatusCode() == 200) {                // 获得响应                result = EntityUtils.toString(response.getEntity());                return result;            } else {                Logger.i(TAG, response.getStatusLine().getStatusCode() + "");            }        } catch (ClientProtocolException e) {            e.printStackTrace();            result = "网络异常!";            return result;        } catch (IOException e) {            e.printStackTrace();            result = "网络异常!";            return result;        }        return null;    }    // 获得响应查询结果    public static String queryStringForPost(HttpPost request) {        String result = null;        try {            // 获得响应对象            HttpResponse response = HttpUtil.getHttpResponse(request);            // 判断是否请求成功            if (response.getStatusLine().getStatusCode() == 200) {                // 获得响应                result = EntityUtils.toString(response.getEntity());                return result;            }        } catch (ClientProtocolException e) {            e.printStackTrace();            result = "网络异常!";            return result;        } catch (IOException e) {            e.printStackTrace();            result = "网络异常!";            return result;        }        return null;    }    // 发送Get请求,获得响应查询结果    public static String queryStringForGet(String url) {        // 获得HttpGet对象        HttpGet request = HttpUtil.getHttpGet(url);        String result = null;        try {            // 获得响应对象            HttpResponse response = HttpUtil.getHttpResponse(request);            // 判断是否请求成功            if (response.getStatusLine().getStatusCode() == 200) {                // 获得响应                result = EntityUtils.toString(response.getEntity());                return result;            }        } catch (ClientProtocolException e) {            e.printStackTrace();            result = "网络异常!";            return result;        } catch (IOException e) {            e.printStackTrace();            result = "网络异常!";            return result;        }        return null;    }    /** * * @param url * 发送请求的URL * @return 服务器响应字符串 * @throws Exception */    public static String getRequest(String url) throws Exception {        // 创建HttpGet对象。        HttpGet get = new HttpGet(url);        HttpParams httpParameters = new BasicHttpParams();        HttpConnectionParams.setConnectionTimeout(httpParameters, 3000);        HttpConnectionParams.setSoTimeout(httpParameters, 5000);        DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);        // 发送GET请求        HttpResponse httpResponse = httpClient.execute(get);        // 如果服务器成功地返回响应        if (httpResponse.getStatusLine().getStatusCode() == 200) {            // 获取服务器响应字符串            String result = EntityUtils.toString(httpResponse.getEntity());            return result;        }        return null;    }    /** * 请求远程服务器,并封装参数信息 * @param url * @param rawParams * @return * @throws Exception */    public static String postRequest(String url, Map<String, String> rawParams) throws Exception {        // 创建HttpPost对象。        HttpPost post = new HttpPost(url);        // 如果传递参数个数比较多的话可以对传递的参数进行封装        List<NameValuePair> params = new ArrayList<NameValuePair>();        for (String key : rawParams.keySet()) {            // 封装请求参数            params.add(new BasicNameValuePair(key, rawParams.get(key)));        }        //Logger.i(TAG, "params------------------->" + params);        // 设置请求参数        post.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));        HttpParams httpParameters = new BasicHttpParams();        HttpConnectionParams.setConnectionTimeout(httpParameters, 3000);        HttpConnectionParams.setSoTimeout(httpParameters, 15000);        DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);        // 发送POST请求        HttpResponse httpResponse = httpClient.execute(post);        // 如果服务器成功地返回响应        String result = null;        if (httpResponse.getStatusLine().getStatusCode() == 200) {            // 获取服务器响应字符串            result = EntityUtils.toString(httpResponse.getEntity(), "UTF-8");            Logger.i(TAG, "result-------->" + result);        }        return result;    }}

更多相关文章

  1. Android连接到加密网络
  2. Android网络状态监听
  3. android之网络资源多线程下载
  4. Android 判断网络状态实例详解
  5. Android 的网络编程(5)-通过ksoap2调用webservice示例
  6. Android检测网络连接并提示
  7. Android 下拉刷新 ListRefresh 从网络加载图片
  8. android 网络请求框架
  9. Android Http网络数据传输备忘

随机推荐

  1. 判断android网络连接
  2. [Android Studio]使用AS开发Android
  3. android studio 模拟器出现中文乱码解决
  4. Android遇到 android studio "Internal H
  5. Android 2.2 Platform
  6. 在编译Android时,开机不锁屏
  7. android 短信是否发送成功
  8. Android   收集索引贴
  9. Android电话秀(二)
  10. Android计算缓存大小、清空缓存