public String sendGet(String url, String param) {
String result = "";
BufferedReader in = null;
try {
String urlNameString = url + "?" + param;
URL realUrl = new URL(urlNameString);
// 打开和URL之间的连接
URLConnection connection = realUrl.openConnection();
// 设置通用的请求属性
connection.setRequestProperty("accept", "*/*");
connection.setRequestProperty("connection", "Keep-Alive");
connection.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// 建立实际的连接
connection.connect();
// 获取所有响应头字段
Map<String, List<String>> map = connection.getHeaderFields();
// 遍历所有的响应头字段
for (String key : map.keySet()) {
logger.info(key + "--->" + map.get(key));
}
// 定义 BufferedReader输入流来读取URL的响应
in = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
logger.info("获取NC数据_result:"+result);
} catch (Exception e) {
logger.info("发送GET请求出现异常!" + e);
e.printStackTrace();
}
finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
return result;
}
//体感监测接口
public Boolean havePersonOrNot(String boardroomId) throws ClientProtocolException, IOException{
//登录智能锁系统
String result = null,result1 = null;
CloseableHttpClient client = HttpClients.createDefault();
String url = "http://10.0.1.15:8889/login.do";
HttpPost post = new HttpPost(url);
post.setHeader("Content-type","application/json");
post.setHeader("X-Requested-With","XMLHttpRequest");
JSONObject jobj = new JSONObject();
jobj.put("companyId", "08d181119a7b4c0e94ff368942fd4420");
jobj.put("password", "MTUyNzQ5ODk4MjA2NUExMjM0NTY=");
jobj.put("username", "admin");
StringEntity s = new StringEntity(jobj.toString());
s.setContentEncoding("UTF-8");
s.setContentType("application/json;charset=UTF-8");
post.setEntity(s);
// 调用接口
HttpResponse res = client.execute(post);
logger.info("登录智能锁系统Response:"+res);
result = EntityUtils.toString(res.getEntity());// 返回json格式:
//System.out.println("result:"+result);
Boolean flag = false;
String token = null;
String msg = null;
JSONObject jsonObject = new JSONObject();
jsonObject = JSON.parseObject(result);
flag = jsonObject.getBoolean("flag");
token = jsonObject.getJSONObject("data").getString("ticket");
msg = jsonObject.getString("msg");
logger.info("flag---" + flag + "---ticket---" + token + "---msg---" + msg);
if (!flag) {
logger.info("智能锁系统登陆失败!");
throw new BusinessException("0001", "智能锁系统登陆失败!");
}
String url1 = "http://10.0.1.15:8889/equipment/lcxx/havePersonOrNot.do";
HttpPost post1 = new HttpPost(url1);
post1.addHeader("Content-type","application/json");
post1.addHeader("X-Requested-With","XMLHttpRequest");
post1.addHeader("accessToken", token); //认证token
JSONObject jobj1 = new JSONObject();
jobj1.put("boardroomId", boardroomId);
//jobj.put("inductorId", inductorId);
System.out.println("体感监测请求:"+jobj1);
StringEntity s1 = new StringEntity(jobj1.toString());
s1.setContentEncoding("UTF-8");
s1.setContentType("application/json;charset=UTF-8");
post1.setEntity(s1);
// 调用接口
HttpResponse res1 = client.execute(post1);
System.out.println("Response:"+res1);
result1 = EntityUtils.toString(res1.getEntity());// 返回json格式:
System.out.println("result:"+result1);
int code = -1;
Boolean havePerson = false;
JSONObject jsonObject1 = new JSONObject();
jsonObject1 = JSON.parseObject(result1);
havePerson = jsonObject1.getBoolean("havePerson");
code = jsonObject1.getInteger("code");
logger.info("code---" + code + "---ticket---" + token);
if (code == 0) {
logger.info("体感监测请求成功!");
return havePerson;
}else{
logger.info("体感监测请求失败!");
throw new BusinessException("0001", "体感监测请求失败!");
}
}