httpclient写的话

来源:互联网 发布:万达电商 网络要走 编辑:程序博客网 时间:2024/06/07 05:29

由于项目需要,昨天研究了下httpclient。发现4.5版本与4.2.1版本有些区别了。比如,4.2.1版本的使用的是DefaultHttpClient对象,关闭httpclient使用的是

httpClient.getConnectionManager().shutdown();而4.5版本中使用的是CloseableHttpClient对象,从名字就可以知道,关闭此对象使用的是close();方法。

        get请求传参数,是直接在url后面拼接上去的如:

        str = EntityUtils.toString(new UrlEncodedFormEntity(params,"utf-8"));    httpget.setURI(new URI(httpget.getURI().toString() + "?" + str));


post请求传参数是按照以下形式:

        UrlEncodedFormEntity formentity = new UrlEncodedFormEntity(params, Consts.UTF_8);httppost.setEntity(formentity);

  设置超时时间时需要RequestConfig配置类

        RequestConfig requestConfig = RequestConfig.custom()        .setSocketTimeout(60*1000)        .setConnectTimeout(60*1000)        .build();httppost.setConfig(requestConfig);
连接池的配置如下:

PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();// Increase max total connection to 200cm.setMaxTotal(200);// Increase default max connection per route to 20cm.setDefaultMaxPerRoute(20);//HttpHost localhost = new HttpHost("locahost", 80);//cm.setMaxPerRoute(new HttpRoute(localhost), 50);httpClient = HttpClients.custom()        .build();



0 0
原创粉丝点击