httpclient 4.3.1 post get的工具类
来源:互联网 发布:淘宝网商城女装春装 编辑:程序博客网 时间:2024/06/06 04:49
package com.ryx.util; import java.util.ArrayList;import java.util.List;import java.util.Map; import org.apache.commons.lang.StringUtils;import org.apache.http.HttpEntity;import org.apache.http.NameValuePair;import org.apache.http.client.config.RequestConfig;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClientBuilder;import org.apache.http.message.BasicNameValuePair;import org.apache.http.util.EntityUtils; /** * 基于 httpclient 4.3.1版本的 http工具类 * @author mcSui * */public class HttpTookit { private static final CloseableHttpClient httpClient; public static final String CHARSET = "UTF-8"; static { RequestConfig config = RequestConfig.custom().setConnectTimeout(60000).setSocketTimeout(15000).build(); httpClient = HttpClientBuilder.create().setDefaultRequestConfig(config).build(); } public static String doGet(String url, Map<String, String> params){ return doGet(url, params,CHARSET); } public static String doPost(String url, Map<String, String> params){ return doPost(url, params,CHARSET); } /** * HTTP Get 获取内容 * @param url 请求的url地址 ?之前的地址 * @param params 请求的参数 * @param charset 编码格式 * @return 页面内容 */ public static String doGet(String url,Map<String,String> params,String charset){ if(StringUtils.isBlank(url)){ return null; } try { if(params != null && !params.isEmpty()){ List<NameValuePair> pairs = new ArrayList<NameValuePair>(params.size()); for(Map.Entry<String,String> entry : params.entrySet()){ String value = entry.getValue(); if(value != null){ pairs.add(new BasicNameValuePair(entry.getKey(),value)); } } url += "?" + EntityUtils.toString(new UrlEncodedFormEntity(pairs, charset)); } HttpGet httpGet = new HttpGet(url); CloseableHttpResponse response = httpClient.execute(httpGet); int statusCode = response.getStatusLine().getStatusCode(); if (statusCode != 200) { httpGet.abort(); throw new RuntimeException("HttpClient,error status code :" + statusCode); } HttpEntity entity = response.getEntity(); String result = null; if (entity != null){ result = EntityUtils.toString(entity, "utf-8"); } EntityUtils.consume(entity); response.close(); return result; } catch (Exception e) { e.printStackTrace(); } return null; } /** * HTTP Post 获取内容 * @param url 请求的url地址 ?之前的地址 * @param params 请求的参数 * @param charset 编码格式 * @return 页面内容 */ public static String doPost(String url,Map<String,String> params,String charset){ if(StringUtils.isBlank(url)){ return null; } try { List<NameValuePair> pairs = null; if(params != null && !params.isEmpty()){ pairs = new ArrayList<NameValuePair>(params.size()); for(Map.Entry<String,String> entry : params.entrySet()){ String value = entry.getValue(); if(value != null){ pairs.add(new BasicNameValuePair(entry.getKey(),value)); } } } HttpPost httpPost = new HttpPost(url); if(pairs != null && pairs.size() > 0){ httpPost.setEntity(new UrlEncodedFormEntity(pairs,CHARSET)); } CloseableHttpResponse response = httpClient.execute(httpPost); int statusCode = response.getStatusLine().getStatusCode(); if (statusCode != 200) { httpPost.abort(); throw new RuntimeException("HttpClient,error status code :" + statusCode); } HttpEntity entity = response.getEntity(); String result = null; if (entity != null){ result = EntityUtils.toString(entity, "utf-8"); } EntityUtils.consume(entity); response.close(); return result; } catch (Exception e) { e.printStackTrace(); } return null; } public static void main(String []args){ String getData = doGet("http://www.oschina.net/",null); System.out.println(getData); System.out.println("----------------------分割线-----------------------"); String postData = doPost("http://www.oschina.net/",null); System.out.println(postData); } }
0 0
- httpclient 4.3.1 post get的工具类
- httpclient 4.3.1 post get的工具类
- httpclient 4.3.1 post get的工具类
- httpclient工具类 get post(4.3.5)
- httpclient 4.3.2 post get的工具类
- HttpClient的Post和Get各种方法的工具类
- HttpClient 的get post传值工具类
- 用HttpClient发送get,post请求的工具类
- 基于httpclient的get和post工具类
- HttpClient发送get和post工具类
- android HttpClient get请求与post请求工具类
- Apache 大三方法HTTP请求链接响应之HttpClient的GET和POST工具类封装
- http跨平台访问接口的post,get,及文件上传方式工具类(httpClient)
- HttpClient 的GET(带参数)、POST请求方式,工具类方法
- HttpClient 的Get和Post
- HttpClient的get和post
- httpclient的post和get,httpurlconnection的post和get
- POST GET 工具类
- css3-animation动画
- java 避免显示null 字符的
- Socket TCP Ping使用小结
- 从Excel中复制数据
- Eclipse使用技巧。
- httpclient 4.3.1 post get的工具类
- iOS自定义字体及类目
- JavaIo学习Properties
- sicily 1077.Cash Machine
- 在 DB2 UDB V8 中设置用户出口来归档数据库日志
- 微信号二维码推荐html
- jQuery选择器
- 强大的JS转C#工具脚本
- gsoap教程