HTTP调用远程接口-java
一、url带参
String path = https://www.***.com/api/getToken?userId=123
CloseableHttpClient httpClient = HttpClients.createDefault();
ResponseHandler<String> responseHandler = new BasicResponseHandler();
try {
httpClient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet(path);
httpGet.setHeader("Content-type", "application/json");
//获取返回值
String execute = httpClient.execute(httpGet, responseHandler);
log.info("execute ="+execute );
}catch (Exception e){
throw new RRException("调用接口失败");
}
二、参数转成JSON字符串
String path = https://www.***.com/api/getToken
String json="{“name”:“张三”,“mobile”:123}\n";
CloseableHttpClient httpClient = HttpClients.createDefault();
ResponseHandler<String> responseHandler = new BasicResponseHandler();
try {
httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(path);
//给httpPost设置JSON格式的参数
StringEntity requestEntity = new StringEntity(json,"utf-8");
requestEntity.setContentEncoding("UTF-8");
httpPost .setHeader("Content-type", "application/json");
httpPost.setEntity(requestEntity);
String execute = httpClient.execute(httpPost , responseHandler);
//解析为Map
Map<String,Object> params = (Map<String,Object>) JSON.parse(execute);
log.info(params);
}catch (Exception e){
throw new RRException("调用接口失败");
}
三、请求头中带参
String path = https://www.***.com/api/getToken
CloseableHttpClient httpClient = HttpClients.createDefault();
ResponseHandler<String> responseHandler = new BasicResponseHandler();
try {
httpClient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet(path);
httpGet.setHeader("Content-type", "application/json");
//=======往请求头中放入参数======
httpGet.setHeader("type", "123");
httpGet.setHeader("page", "10");
//=======往请求头中放入参数END======
//获取返回值
String execute = httpClient.execute(httpGet, responseHandler);
log.info("execute ="+execute );
}catch (Exception e){
throw new RRException("调用接口失败");
}
解析请求头数据:https://blog.csdn.net/xiaotianshi_01/article/details/108072095