<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5</version></dependency> package com;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.utils.URIBuilder;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.message.BasicNameValuePair;import org.apache.http.util.EntityUtils;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.net.URI;import java.net.URISyntaxException;import java.util.ArrayList;import java.util.List;import java.util.Map;public class M_HttpClient {public static String get(String url, Map<String, String> param) {//创建HttpClient对象CloseableHttpClient httpClient = HttpClients.createDefault();String resultString = "";CloseableHttpResponse response = null;try {//创建uriURIBuilder builder = new URIBuilder(url);if (param != null) {for (String key : param.keySet()) {builder.addParameter(key, param.get(key));}}URI uri = builder.build();//创建Http Get请求HttpGet httpGet=new HttpGet(uri);//HTTP Get请求(POST雷同)RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(1000).setConnectTimeout(1000).build();//设置请求和传输超时时间httpGet.setConfig(requestConfig);httpClient.execute(httpGet);//执行请求//执行请求response = httpClient.execute(httpGet);//判断返回状态是否为200if (response.getStatusLine().getStatusCode() == 200) {resultString = EntityUtils.toString(response.getEntity(), "UTF-8");}} catch (URISyntaxException e) {e.printStackTrace();} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {try {if (response != null) {response.close();}httpClient.close();} catch (IOException e) {e.printStackTrace();}}return resultString;}public static String get(String url) {return get(url, null);}public static String post(String url, Map<String, String> param) {//创建HttpClient对象CloseableHttpClient httpClient = HttpClients.createDefault();String resultString = "";CloseableHttpResponse response = null;try {//创建Http Post请求HttpPost httpPost = new HttpPost(url);//创建参数列表if (param != null) {List<NameValuePair> paramList = new ArrayList();for (String key : param.keySet()) {paramList.add(new BasicNameValuePair(key, param.get(key)));}//模拟表单UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList, "UTF-8");httpPost.setEntity(entity);}//执行http请求response = httpClient.execute(httpPost);resultString = EntityUtils.toString(response.getEntity(), "UTF-8");} catch (UnsupportedEncodingException e) {e.printStackTrace();} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {try {if (response != null) {response.close();}httpClient.close();} catch (IOException e) {e.printStackTrace();}}return resultString;}public static String post(String url) {return post(url, null);}} ?
HttpClient工具类
原文地址:https://www.cnblogs.com/minglie/p/9326803.html