博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA代码(GET方式)请求URL(HTTP,HTTPS)
阅读量:5040 次
发布时间:2019-06-12

本文共 2574 字,大约阅读时间需要 8 分钟。

/** *  * @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;}

  

 

转载于:https://www.cnblogs.com/pxblog/p/10524167.html

你可能感兴趣的文章
ubuntu 14.04中Elasticsearch 2.3 中 Nginx 权限认证
查看>>
ansible中的playbook详解
查看>>
ES6-----学习系列二(解构赋值)
查看>>
“猜画小歌”的一些细节和思考
查看>>
Android图像处理 - 高斯模糊的原理及实现
查看>>
Eclipse里选中一个变量后,这个类里的该变量不变色了?
查看>>
解密浏览器缓存机制
查看>>
Apache服务器的安装与配置
查看>>
登陆工程
查看>>
实用的ES6特性
查看>>
通过id设置的css属性和通过元素设置的css属性冲突了,优先级哪个高?
查看>>
python将两个数组合并成一个数组的两种方法的代码
查看>>
Java基础8-浅谈java程序的运行机制与JVM运行
查看>>
MyBatis之级联——鉴别器
查看>>
javascript:void(0)的含义
查看>>
解决android启动程序时,会出现一个短暂的白色空白界面的问题
查看>>
BZOJ‘s Usaco 奶牛题集锦
查看>>
生成器
查看>>
drf权限组件
查看>>
输入月份和日期,得出是今年第几天
查看>>