android开发网络连接工具类(一)
2016-02-01 10:52
369 查看
网络连接工具类整理:
package com.gzcivil.utils; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.params.BasicHttpParams; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; import org.apache.http.util.EntityUtils; import android.content.Context; /** * 网络连接类 * * @author LiJinlun * */ public class NetUtils { /** * 获取Json数据 * * @param param * @return */ public static String post(Map<String, String> paramMap, String URL, Context context) { String result = null; HttpPost httpRequest = new HttpPost(URL); List<NameValuePair> params = new ArrayList<NameValuePair>(); paramMap.put("machineCode", CommonUtil.GetMachineCode(context)); paramMap.put("cid", CommonUtil.GetCid(context).toString()); for (Map.Entry<String, String> param : paramMap.entrySet()) { params.add(new BasicNameValuePair(param.getKey(), param.getValue())); } // 打印去包日志 LogUtils.d(SysUtils.LOG_TAG, "去包:" + URL + params.toString()); HttpEntity httpEntity; HttpClient httpClient = null; try { httpEntity = new UrlEncodedFormEntity(params, "UTF-8"); httpRequest.setEntity(httpEntity); httpClient = getHttpClient(); HttpResponse httpResponse = httpClient.execute(httpRequest); int status = httpResponse.getStatusLine().getStatusCode(); if (status == HttpStatus.SC_OK) { result = EntityUtils.toString(httpResponse.getEntity()); // 打印回包日志 LogUtils.d(SysUtils.LOG_TAG, "回包:" + result.toString()); return result; } } catch (IOException e) { e.printStackTrace(); return SysUtils.errorcode.ERROR_TIMEOUT + ""; } finally { if (httpClient != null) httpClient.getConnectionManager().shutdown(); } return null; } /** * get获取数据 * * @param url * @return */ public static String get(String url) { // 打印去包日志 LogUtils.d(SysUtils.LOG_TAG, "去包:" + url.toString()); String result = null; HttpGet get = new HttpGet(url); HttpClient client = new DefaultHttpClient(); try { HttpResponse response = client.execute(get); int status = response.getStatusLine().getStatusCode(); if (status == HttpStatus.SC_OK) { result = EntityUtils.toString(response.getEntity(), "UTF-8"); // 打印回包日志 LogUtils.d(SysUtils.LOG_TAG, "回包:" + result.toString()); return result; } } catch (IOException e) { e.printStackTrace(); return SysUtils.errorcode.ERROR_TIMEOUT + ""; } finally { client.getConnectionManager().shutdown(); } return null; } public static HttpClient getHttpClient() { HttpParams httpParams = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(httpParams, 8 * 1000); HttpConnectionParams.setSoTimeout(httpParams, 8 * 1000); // HttpClientParams.setRedirecting(httpParams, true); HttpClient client = new DefaultHttpClient(httpParams); // client.getParams().setIntParameter( HttpConnectionParams.SO_TIMEOUT, // 8*1000); // 超时设置 // client.getParams().setIntParameter( // HttpConnectionParams.CONNECTION_TIMEOUT, 8*1000);// 连接超时 return client; } }
相关文章推荐
- 【infoQ】物联网项目的网络注意事项
- 利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G)
- openstack(liberty):部署实验平台(一,基础网络环境搭建)
- java 网络编程(三)---TCP的基础级示例
- HTTPS 原理解析(转)
- TCP初始化序列号ISN
- java 网络编程(二)----UDP基础级的示例
- 网络模拟器WANem使用配置图文教程
- 两种请求方式URLHttpconnection 和Httpclient提交表单 网络篇(二)
- 原生 NSURL 网络请求 GET POST
- 深入分析JavaWeb 4 -- Http协议
- 想成为网络安全技术爱好者(可能是黑客)的话,需要看什么书?
- Linux极客命令(网络篇)
- HTTPS 原理解析
- SYN标志
- A20网络机顶盒移植4.5内核+U-Boot+rootfs
- 通读AFN③--HTTPS访问控制(AFSecurityPolicy),Reachability(AFNetworkReachabilityManager)
- 厦门巨游网络科技有限公司(HOTPOWER)承接游戏UI外包
- ntpdate——linux firefox 访问163邮箱 失败 https proload
- (OK-HALF) To Find a Rogue DHCP Server—tcpdump/dhclient—nmap