Created
April 28, 2019 03:59
-
-
Save logicjwell/15d753c35a7ed53165b69be6b1fee36a to your computer and use it in GitHub Desktop.
[HttpClient工具类] 使用apache httpcomponent实现的工具类 #httpclient
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Slf4j | |
public class HttpClientUtils { | |
private HttpClientUtils(){} | |
public static String doGet(String url, Map<String, String> param) { | |
// 创建Httpclient对象 | |
CloseableHttpClient httpclient = HttpClients.createDefault(); | |
String resultString = ""; | |
CloseableHttpResponse response = null; | |
try { | |
// 创建uri | |
URIBuilder 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); | |
// 执行请求 | |
response = httpclient.execute(httpGet); | |
// 判断返回状态是否为200 | |
if (response.getStatusLine().getStatusCode() == 200) { | |
resultString = EntityUtils.toString(response.getEntity(), "UTF-8"); | |
} | |
} catch (Exception e) { | |
e.printStackTrace(); | |
} finally { | |
try { | |
if (response != null) { | |
response.close(); | |
} | |
httpclient.close(); | |
} catch (IOException e) { | |
e.printStackTrace(); | |
} | |
} | |
return resultString; | |
} | |
public static String doGet(String url) { | |
return doGet(url, null); | |
} | |
public static String doPost(String url, Map<String, String> param) { | |
// 创建Httpclient对象 | |
CloseableHttpClient httpClient = HttpClients.createDefault(); | |
CloseableHttpResponse response = null; | |
String resultString = ""; | |
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); | |
httpPost.setEntity(entity); | |
} | |
// 执行http请求 | |
response = httpClient.execute(httpPost); | |
resultString = EntityUtils.toString(response.getEntity(), "utf-8"); | |
} catch (Exception e) { | |
e.printStackTrace(); | |
} finally { | |
try { | |
response.close(); | |
} catch (IOException e) { | |
e.printStackTrace(); | |
} | |
} | |
return resultString; | |
} | |
public static String doPost(String url) { | |
return doPost(url, null); | |
} | |
public static String doPostJson(String url, String json) { | |
// 创建Httpclient对象 | |
CloseableHttpClient httpClient = HttpClients.createDefault(); | |
CloseableHttpResponse response = null; | |
String resultString = ""; | |
try { | |
// 创建Http Post请求 | |
HttpPost httpPost = new HttpPost(url); | |
// 创建请求内容 | |
StringEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON); | |
httpPost.setEntity(entity); | |
// 执行http请求 | |
response = httpClient.execute(httpPost); | |
resultString = EntityUtils.toString(response.getEntity(), "utf-8"); | |
} catch (Exception e) { | |
e.printStackTrace(); | |
} finally { | |
try { | |
response.close(); | |
} catch (IOException e) { | |
e.printStackTrace(); | |
} | |
} | |
return resultString; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment