資源簡介
java http工具,包括get、post、json格式請求,使用httpclient
代碼片段和文件信息
package?com.xgdmsr.common.utils;
import?java.io.IOException;
import?java.util.ArrayList;
import?java.util.List;
import?java.util.Map;
import?java.util.Map.Entry;
import?org.apache.commons.logging.Log;
import?org.apache.commons.logging.LogFactory;
import?org.apache.http.HttpEntity;
import?org.apache.http.HttpResponse;
import?org.apache.http.NameValuePair;
import?org.apache.http.client.ClientProtocolException;
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.entity.StringEntity;
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;
/**
?*?http工具類
?*/
public?class?HttpUtil?{
????private?static?final?Log?logger?=?LogFactory.getLog(HttpUtil.class);
????private?static?String?ENCOCE_UTF_8?=?“UTF-8“;
????private?static?CloseableHttpClient?client?=?null;
????private?HttpUtil()?{
????}
????private?static?CloseableHttpClient?getClientInstance()?{
????????if?(client?==?null)?{
????????????synchronized?(HttpUtil.class)?{
????????????????if?(client?==?null)?{
????????????????????//?設置每個路由的最大并發連接數為20以提高性能,默認為2
????????????????????client?=?HttpClientBuilder.create().setMaxConnPerRoute(20)
????????????????????????????.build();
????????????????}
????????????}
????????}
????????return?client;
????}
????/**
?????*?@param?url
?????*?@return
?????*?@throws?ClientProtocolException
?????*?@throws?IOException
?????*/
????public?static?String?httpGet(String?url)?throws?ClientProtocolException?IOException?{
????????//?創建httpget
????????HttpGet?httpGet?=?new?HttpGet(url);
????????HttpResponse?response?=?getClientInstance().execute(httpGet);
????????HttpEntity?entity?=?response.getEntity();
????????return?EntityUtils.toString(entity);
????}
????public?static?HttpEntity?httpGetForEntity(String?url)?throws?Exception?{
????????HttpGet?httpGet?=?new?HttpGet(url);
????????HttpResponse?response?=?getClientInstance().execute(httpGet);
????????return?response.getEntity();
????}
????/**
?????*?post請求
?????*
?????*?@param?url
?????*?@param?params
?????*?@return
?????*?@throws?ClientProtocolException
?????*?@throws?IOException
?????*/
????public?static?String?httpPost(String?url?Map?params)?throws?
評論
共有 條評論