httpclientutil
importjava.io.IOException;
importjava.net.URI;
importjava.util.ArrayList;
importjava.util.List;
importjava.util.Map;
importorg.apache.http.NameValuePair;
importorg.apache.http.client.entity.UrlEncodedFormEntity;
importorg.apache.http.client.methods.CloseableHttpResponse;
importorg.apache.http.client.methods.HttpGet;
importorg.apache.http.client.methods.HttpPost;
importorg.apache.http.client.utils.URIBuilder;
importorg.apache.http.entity.ContentType;
importorg.apache.http.entity.StringEntity;
importorg.apache.http.impl.client.CloseableHttpClient;
importorg.apache.http.impl.client.HttpClients;
importorg.apache.http.message.BasicNameValuePair;
importorg.apache.http.util.EntityUtils;
publicclassHttpClientUtil{
publicstaticStringdoGet(String url, Map param){
// 创建Httpclient对象
CloseableHttpClient httpclient = HttpClients.createDefault();
String resultString ="";
CloseableHttpResponse response =null;
try{
// 创建uri
URIBuilder builder =newURIBuilder(url);
if(param !=null) {
for(String key : param.keySet()) {
builder.addParameter(key, param.get(key));
}
}
URI uri = builder.build();
// 创建http GET请求
HttpGet httpGet =newHttpGet(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();
}
}
returnresultString;
}
publicstaticStringdoGet(String url){
returndoGet(url,null);
}
publicstaticStringdoPost(String url, Map param){
// 创建Httpclient对象
CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse response =null;
String resultString ="";
try{
// 创建Http Post请求
HttpPost httpPost =newHttpPost(url);
// 创建参数列表
if(param !=null) {
List paramList =newArrayList<>();
for(String key : param.keySet()) {
paramList.add(newBasicNameValuePair(key, param.get(key)));
}
// 模拟表单
UrlEncodedFormEntity entity =newUrlEncodedFormEntity(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) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
returnresultString;
}
publicstaticStringdoPost(String url){
returndoPost(url,null);
}
publicstaticStringdoPostJson(String url, String json){
// 创建Httpclient对象
CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse response =null;
String resultString ="";
try{
// 创建Http Post请求
HttpPost httpPost =newHttpPost(url);
// 创建请求内容
StringEntity entity =newStringEntity(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) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
returnresultString;
}
}
网友评论