/*********************************************** * 网络工具 * * @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(安卓)HttpClient
  2. Android(安卓)HttpClient
  3. TecentUtil 腾讯微博 android
  4. android的WebView简单实例
  5. Android(安卓)HttpClient网络通信
  6. Android(安卓)浅析 Volley
  7. Android(安卓)以Json格式发送Post服务请求
  8. Android中通过当前经纬度获得城市
  9. android 网络请求框架

随机推荐

  1. 你怎么检查python字符串是否只包含数字?
  2. python-selenium-定位一组对象
  3. Python学习记录--关于列表和字典的比较
  4. scikit-learn:在标记化时不要分隔带连字符
  5. 分析标签集的最佳方法是什么?
  6. 学习Python爬虫(五):爬取图片
  7. python飞船游戏(三)
  8. 深度学习与计算机视觉系列(1)_基础介绍
  9. macports没有将python_select放在/ opt /
  10. python入门第七天