/**
*
* @param url 这个只支持http地址,不支持https
* @param request
* @return
*/
public static String sendMessage(String url, HttpServletRequest request) {
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
HttpGet httpGet = new HttpGet(url); //url:请求地址 get请求
httpGet.addHeader(HTTP.CONTENT_TYPE, "application/json;charset=UTF-8");
try {
HttpResponse res = httpClient.execute(httpGet);
String rtn = EntityUtils.toString(res.getEntity());
return rtn;
} catch (Exception e) {
e.printStackTrace();
} finally {
httpGet.releaseConnection();
}
return null;
}
/**
*
*
* @param url 支持https格式 get请求
* @return 返回json格式
*/
public static JSONObject getHttps(String hsUrl) {
try {
URL url;
url = new URL(hsUrl);
HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
X509TrustManager xtm = new X509TrustManager() {
@Override
public X509Certificate[] getAcceptedIssuers() {
// TODO Auto-generated method stub
return null;
}
@Override
public void checkServerTrusted(X509Certificate[] arg0, String arg1)
throws CertificateException {
// TODO Auto-generated method stub
}
@Override
public void checkClientTrusted(X509Certificate[] arg0, String arg1)
throws CertificateException {
// TODO Auto-generated method stub
}
};
TrustManager[] tm = {xtm};
SSLContext ctx = SSLContext.getInstance("TLS");
ctx.init(null, tm, null);
con.setSSLSocketFactory(ctx.getSocketFactory());
con.setHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String arg0, SSLSession arg1) {
return true;
}
});
InputStream inStream = con.getInputStream();
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = inStream.read(buffer)) != -1) {
outStream.write(buffer, 0, len);
}
byte[] b = outStream.toByteArray();//网页的二进制数据
outStream.close();
inStream.close();
String rtn = new String(b, "utf-8");
if (StringUtils.isNotBlank(rtn)) {
JSONObject object = JSONObject.fromObject(rtn);
return object;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}