日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HttpUtils请求工具类

發布時間:2023/12/31 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HttpUtils请求工具类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HttpUtils請求

import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URISyntaxException; import java.util.ArrayList; import java.util.Map;import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.http.HttpEntity; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; 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.client.methods.HttpRequestBase; import org.apache.http.client.utils.URIBuilder; import org.apache.http.entity.ContentType; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils;/*** @author mxl* @version 1.0* 2021/1/28 下午7:23**/ public class HttpClientUtil {protected static Log logger = LogFactory.getLog(HttpClientUtil.class);private static PoolingHttpClientConnectionManager cm;private static String EMPTY_STR = "";private static String UTF_8 = "UTF-8";private static void init() {if (cm == null) {cm = new PoolingHttpClientConnectionManager();cm.setMaxTotal(50);// 整個連接池最大連接數cm.setDefaultMaxPerRoute(5);// 每路由最大連接數,默認值是2}}/*** 通過連接池獲取HttpClient** @return*/public static CloseableHttpClient getHttpClient() {init();return HttpClients.custom().setConnectionManager(cm).build();}public static String httpGetRequest(String url) {HttpGet httpGet = new HttpGet(url);return getResult(httpGet);}public static String httpGetRequest(String url, Map<String, Object> params) throws URISyntaxException {URIBuilder ub = new URIBuilder();ub.setPath(url);ArrayList<NameValuePair> pairs = covertParams2NVPS(params);ub.setParameters(pairs);HttpGet httpGet = new HttpGet(ub.build());return getResult(httpGet);}public static String httpGetRequest(String url, Map<String, Object> headers, Map<String, Object> params)throws URISyntaxException {URIBuilder ub = new URIBuilder();ub.setPath(url);ArrayList<NameValuePair> pairs = covertParams2NVPS(params);ub.setParameters(pairs);HttpGet httpGet = new HttpGet(ub.build());for (Map.Entry<String, Object> param : headers.entrySet()) {httpGet.addHeader(param.getKey(), String.valueOf(param.getValue()));}return getResult(httpGet);}public static String httpPostRequest(String url) {HttpPost httpPost = new HttpPost(url);return getResult(httpPost);}public static String httpPostRequest(String url, Map<String, Object> params) throws UnsupportedEncodingException {HttpPost httpPost = new HttpPost(url);ArrayList<NameValuePair> pairs = covertParams2NVPS(params);httpPost.setEntity(new UrlEncodedFormEntity(pairs, UTF_8));return getResult(httpPost);}public static String httpPostRequest(String url, Map<String, Object> headers, Map<String, Object> params)throws UnsupportedEncodingException {HttpPost httpPost = new HttpPost(url);for (Map.Entry<String, Object> param : headers.entrySet()) {httpPost.addHeader(param.getKey(), String.valueOf(param.getValue()));}ArrayList<NameValuePair> pairs = covertParams2NVPS(params);httpPost.setEntity(new UrlEncodedFormEntity(pairs, UTF_8));return getResult(httpPost);}public static String httpPostRequest(String url, Map<String, Object> headers, String strBody)throws Exception {HttpPost httpPost = new HttpPost(url);for (Map.Entry<String, Object> param : headers.entrySet()) {httpPost.addHeader(param.getKey(), String.valueOf(param.getValue()));}httpPost.setEntity(new StringEntity(strBody, UTF_8));return getResult(httpPost);}public static String httpPostRequest(String url, String strBody)throws Exception {HttpPost httpPost = new HttpPost(url);StringEntity stringEntity = new StringEntity(strBody, ContentType.APPLICATION_JSON);httpPost.setEntity(stringEntity);return getResult(httpPost);}private static ArrayList<NameValuePair> covertParams2NVPS(Map<String, Object> params) {ArrayList<NameValuePair> pairs = new ArrayList<NameValuePair>();for (Map.Entry<String, Object> param : params.entrySet()) {pairs.add(new BasicNameValuePair(param.getKey(), String.valueOf(param.getValue())));}return pairs;}private static String getResult(HttpRequestBase request) {RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(60000).setConnectionRequestTimeout(5000).setSocketTimeout(60000).build();request.setConfig(requestConfig);// 設置請求和傳輸超時時間// CloseableHttpClient httpClient = HttpClients.createDefault();CloseableHttpClient httpClient = getHttpClient();try {CloseableHttpResponse response = httpClient.execute(request); //執行請求// response.getStatusLine().getStatusCode();HttpEntity entity = response.getEntity();if (entity != null) {// long len = entity.getContentLength();// -1 表示長度未知String result = EntityUtils.toString(entity);response.close();// httpClient.close();return result;}} catch (ClientProtocolException e) {logger.error("[maperror] HttpClientUtil ClientProtocolException : " + e.getMessage());} catch (IOException e) {logger.error("[maperror] HttpClientUtil IOException : " + e.getMessage());} finally {}return EMPTY_STR;} }

?

總結

以上是生活随笔為你收集整理的HttpUtils请求工具类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。