java httpclient 使用_java之HttpClient简单使用

  • Post author:
  • Post category:java


最近在做微信公众号开发,需要用java代码访问微信端接口来请求数据。

由于博主java的网络通信也不是很精通,只是粗略了解皮毛,等以后知识上来了再深入研究java的网络编程。

所以这篇文章就先介绍简单使用。

需要的jar包:

org.apache.httpcomponents

httpclient

4.3.6

org.apache.httpcomponents

httpcore

4.4

本篇博客分为几块部分:http的get、post请求,https的get、post请求

新建一个类HttpUtil:

public class HttpUtil {

private static PoolingHttpClientConnectionManager connMgr;

private static RequestConfig requestConfig;

private static final int MAX_TIMEOUT = 7000;

static {

// 设置连接池

connMgr = new PoolingHttpClientConnectionManager();

// 设置连接池大小

connMgr.setMaxTotal(100);

connMgr.setDefaultMaxPerRoute(connMgr.getMaxTotal());

RequestConfig.Builder configBuilder = RequestConfig.custom();

// 设置连接超时

configBuilder.setConnectTimeout(MAX_TIMEOUT);

// 设置读取超时

configBuilder.setSocketTimeout(MAX_TIMEOUT);

// 设置从连接池获取连接实例的超时

configBuilder.setConnectionRequestTimeout(MAX_TIMEOUT);

// 在提交请求之前 测试连接是否可用

configBuilder.setStaleConnectionCheckEnabled(true);

requestConfig = configBuilder.build();

}

}

http部分

get请求:

/**

* 发送 GET 请求(HTTP),不带输入数据

*

* @param url

* @return

*/

public static String doGet(String url) {

return doGet(url, new HashMap());

}

/**

* 发送 GET 请求(HTTP),K-V形式

*

* @param url

* @param params

* @return

*/

public static String doGet(String url, Map params) {

String apiUrl = url;

StringBuffer param = new StringBuffer();

//拼接get请求参数

int i = 0;

for (String key : params.keySet()) {

if (i == 0)

param.append(“?”);

else

param.append(“&”);

param.append(key).append(“=”).append(params.get(key));

i++;

}

//往url后面添加所有的请求参数

apiUrl += param;

String result = null;

//开始执行get请求,新建一个DefaultHttpClient对象

HttpClient httpclient = new DefaultHttpClient();

try {

//新建一个处理特定url的HttpGet对象

HttpGet httpGet = new HttpGet(apiUrl);

//执行请求,得到response对象

HttpResponse response = httpclient.execute(httpGet);

//获取响应状态码

int statusCode = response.getStatusLine().getStatusCode();

System.out.println(“执行状态码 : ” + statusCode);

HttpEntity entity = response.g



版权声明:本文为weixin_35805266原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。