1. HttpClient实现get、post请求
import com.alibaba.fastjson.JSON;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
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.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.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.json.JSONObject;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Component
public class HttpClientUtils {
public static JSONObject getParamMap(String url, Map<String, String> paramMap) {
CloseableHttpClient httpClient = HttpClients.createDefault();
try {
List<NameValuePair> pairs = new ArrayList<>();
for(Map.Entry<String,String> entry:paramMap.entrySet()){
pairs.add(new BasicNameValuePair(entry.getKey(),entry.getValue()));
}
CloseableHttpResponse response;
URIBuilder builder = new URIBuilder(url).setParameters(pairs);
HttpGet httpGet = new HttpGet(builder.build());
response = httpClient.execute(httpGet);
if(response != null && response.getStatusLine().getStatusCode() == 200) {
HttpEntity entity = response.getEntity();
String jsonString= EntityUtils.toString(entity);
JSONObject jsonObject=new JSONObject(jsonString);
return jsonObject;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
public static JSONObject postMap(String url,Object object) {
String json= JSON.toJSONString(object);
System.out.println(json);
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(url);
CloseableHttpResponse response;
try {
StringEntity stringEntity=new StringEntity(json, ContentType.APPLICATION_JSON);
httpPost.setEntity(stringEntity);
response = httpClient.execute(httpPost);
if (response != null && response.getStatusLine().getStatusCode() == 200) {
HttpEntity entity = response.getEntity();
String jsonString= EntityUtils.toString(entity);
JSONObject jsonObject=new JSONObject(jsonString);
return jsonObject;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
}