苍穹外卖初始项目
This commit is contained in:
179
sky-common/src/main/java/com/sky/utils/HttpClientUtil.java
Normal file
179
sky-common/src/main/java/com/sky/utils/HttpClientUtil.java
Normal file
@@ -0,0 +1,179 @@
|
||||
package com.sky.utils;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
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.client.utils.URIBuilder;
|
||||
import org.apache.http.entity.StringEntity;
|
||||
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.net.URI;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Http工具类
|
||||
*/
|
||||
public class HttpClientUtil {
|
||||
|
||||
static final int TIMEOUT_MSEC = 5 * 1000;
|
||||
|
||||
/**
|
||||
* 发送GET方式请求
|
||||
* @param url
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public static String doGet(String url,Map<String,String> paramMap){
|
||||
// 创建Httpclient对象
|
||||
CloseableHttpClient httpClient = HttpClients.createDefault();
|
||||
|
||||
String result = "";
|
||||
CloseableHttpResponse response = null;
|
||||
|
||||
try{
|
||||
URIBuilder builder = new URIBuilder(url);
|
||||
if(paramMap != null){
|
||||
for (String key : paramMap.keySet()) {
|
||||
builder.addParameter(key,paramMap.get(key));
|
||||
}
|
||||
}
|
||||
URI uri = builder.build();
|
||||
|
||||
//创建GET请求
|
||||
HttpGet httpGet = new HttpGet(uri);
|
||||
|
||||
//发送请求
|
||||
response = httpClient.execute(httpGet);
|
||||
|
||||
//判断响应状态
|
||||
if(response.getStatusLine().getStatusCode() == 200){
|
||||
result = EntityUtils.toString(response.getEntity(),"UTF-8");
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}finally {
|
||||
try {
|
||||
response.close();
|
||||
httpClient.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送POST方式请求
|
||||
* @param url
|
||||
* @param paramMap
|
||||
* @return
|
||||
* @throws IOException
|
||||
*/
|
||||
public static String doPost(String url, Map<String, String> paramMap) throws IOException {
|
||||
// 创建Httpclient对象
|
||||
CloseableHttpClient httpClient = HttpClients.createDefault();
|
||||
CloseableHttpResponse response = null;
|
||||
String resultString = "";
|
||||
|
||||
try {
|
||||
// 创建Http Post请求
|
||||
HttpPost httpPost = new HttpPost(url);
|
||||
|
||||
// 创建参数列表
|
||||
if (paramMap != null) {
|
||||
List<NameValuePair> paramList = new ArrayList();
|
||||
for (Map.Entry<String, String> param : paramMap.entrySet()) {
|
||||
paramList.add(new BasicNameValuePair(param.getKey(), param.getValue()));
|
||||
}
|
||||
// 模拟表单
|
||||
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList);
|
||||
httpPost.setEntity(entity);
|
||||
}
|
||||
|
||||
httpPost.setConfig(builderRequestConfig());
|
||||
|
||||
// 执行http请求
|
||||
response = httpClient.execute(httpPost);
|
||||
|
||||
resultString = EntityUtils.toString(response.getEntity(), "UTF-8");
|
||||
} catch (Exception e) {
|
||||
throw e;
|
||||
} finally {
|
||||
try {
|
||||
response.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
return resultString;
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送POST方式请求
|
||||
* @param url
|
||||
* @param paramMap
|
||||
* @return
|
||||
* @throws IOException
|
||||
*/
|
||||
public static String doPost4Json(String url, Map<String, String> paramMap) throws IOException {
|
||||
// 创建Httpclient对象
|
||||
CloseableHttpClient httpClient = HttpClients.createDefault();
|
||||
CloseableHttpResponse response = null;
|
||||
String resultString = "";
|
||||
|
||||
try {
|
||||
// 创建Http Post请求
|
||||
HttpPost httpPost = new HttpPost(url);
|
||||
|
||||
if (paramMap != null) {
|
||||
//构造json格式数据
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
for (Map.Entry<String, String> param : paramMap.entrySet()) {
|
||||
jsonObject.put(param.getKey(),param.getValue());
|
||||
}
|
||||
StringEntity entity = new StringEntity(jsonObject.toString(),"utf-8");
|
||||
//设置请求编码
|
||||
entity.setContentEncoding("utf-8");
|
||||
//设置数据类型
|
||||
entity.setContentType("application/json");
|
||||
httpPost.setEntity(entity);
|
||||
}
|
||||
|
||||
httpPost.setConfig(builderRequestConfig());
|
||||
|
||||
// 执行http请求
|
||||
response = httpClient.execute(httpPost);
|
||||
|
||||
resultString = EntityUtils.toString(response.getEntity(), "UTF-8");
|
||||
} catch (Exception e) {
|
||||
throw e;
|
||||
} finally {
|
||||
try {
|
||||
response.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
return resultString;
|
||||
}
|
||||
private static RequestConfig builderRequestConfig() {
|
||||
return RequestConfig.custom()
|
||||
.setConnectTimeout(TIMEOUT_MSEC)
|
||||
.setConnectionRequestTimeout(TIMEOUT_MSEC)
|
||||
.setSocketTimeout(TIMEOUT_MSEC).build();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user