public static JSONObject httpsRequest(String requestUrl, String requestMethod, String outputStr) {

JSONObject jsonObject = null;

StringBuffer buffer = new StringBuffer();

try {

// 创建SSLContext对象,并使用我们指定的信任管理器初始化

TrustManager[] tm = { new MyX509TrustManager() };

SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");

sslContext.init(null, tm, new java.security.SecureRandom());

// 从上述SSLContext对象中得到SSLSocketFactory对象

SSLSocketFactory ssf = sslContext.getSocketFactory();

URL url = new URL(requestUrl);

HttpsURLConnection httpUrlConn = (HttpsURLConnection) url.openConnection();

httpUrlConn.setSSLSocketFactory(ssf);

httpUrlConn.setDoOutput(true);

httpUrlConn.setDoInput(true);

httpUrlConn.setUseCaches(false);

// 设置请求方式(GET/POST)

httpUrlConn.setRequestMethod(requestMethod);

if ("GET".equalsIgnoreCase(requestMethod))

httpUrlConn.connect();

// 当有数据需要提交时

if (null != outputStr) {

OutputStream outputStream = httpUrlConn.getOutputStream();

// 注意编码格式,防止中文乱码

outputStream.write(outputStr.getBytes("UTF-8"));

outputStream.close();

}

// 将返回的输入流转换成字符串

InputStream inputStream = httpUrlConn.getInputStream();

InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");

BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

String str = null;

while ((str = bufferedReader.readLine()) != null) {

buffer.append(str);

}

bufferedReader.close();

inputStreamReader.close();

// 释放资源

inputStream.close();

inputStream = null;

httpUrlConn.disconnect();

jsonObject = JSONObject.fromObject(buffer.toString());

} catch (ConnectException ce) {

log.error("Weixin server connection timed out.");

} catch (Exception e) {

log.error("https request error:{}", e);

}

return jsonObject;

}

httpsrequest java_java如何通过https返回数据相关推荐

  1. socket 读取 所有 数据 java_Java Socket 读取服务器端返回数据

    //客户端 //1.创建客户端Socket,指定服务器地址和端口 Socket socket =newSocket("localhost",10086); //2.获取输出流,向服 ...

  2. 网页数据抓取 java_Java抓取网页数据(原网页+Javascript返回数据)

    转载请注明出处! 有时候因为种种原因,我们须要採集某个站点的数据,但因为不同站点对数据的显示方式略有不同! 本文就用Java给大家演示怎样抓取站点的数据:(1)抓取原网页数据:(2)抓取网页Javas ...

  3. 解决paramiko获取远程脚本延时返回数据的问题

    解决paramiko获取远程脚本延时返回数据的问题 参考文章: (1)解决paramiko获取远程脚本延时返回数据的问题 (2)https://www.cnblogs.com/liushi-Oscar ...

  4. 关于Laravel中使用response()方法调用json()返回数据unicode编码转换的问题解决

    关于Laravel中使用response()方法调用json()返回数据unicode编码转换的问题解决 参考文章: (1)关于Laravel中使用response()方法调用json()返回数据un ...

  5. springboot 接口返回数据时 net.sf.json.JSONNull[“empty“]) 异常

    springboot 接口返回数据时 net.sf.json.JSONNull["empty"]) 异常 参考文章: (1)springboot 接口返回数据时 net.sf.js ...

  6. SQL查询从多个表返回数据

    本文翻译自:SQL query return data from multiple tables I would like to know the following: 我想知道以下内容: how t ...

  7. python Flask框架如何请求及返回数据——flask详细教程

    python Flask框架如何请求及返回数据--flask详细教程 文章目录: 1 Flask介绍 1.1 Flask简单介绍 1.2 Flask相关资料信息 2 Flask快速入门 2.1 Fla ...

  8. springBoot使用PageHelper当超过最大页数后仍然返回数据

    在SpringBoot中使用PageHelper分页插件时,如果设置pagehelper.reasonable=true时,pageNum<=0 时会查询第一页, pageNum>page ...

  9. fiddler 之 返回数据乱码解决方法

    1.有时用fiddler抓包, 发现抓到的包, 发送数据和返回数据都是乱码, 怎么办?   直接上图  (这办法不是100%成功的) 方法一: 方法二: 转载于:https://www.cnblogs ...

最新文章

  1. php读取zip文件,php如何读取zip内容?(zip_entry_read函数的使用)
  2. java程序设计基础29_java程序设计基础实验29
  3. Codeforces Round #655 (Div. 2) E. Omkar and Last Floor 区间dp + 巧妙的状态设计
  4. python生成矩阵_如何在Python中生成矩阵?
  5. 360剑灵洪门崛起服务器维护,剑灵洪门崛起————【维护】8月1日更新维护公告...
  6. INF文件修改注册表
  7. [ASP.NET MVC]让Html.RenderAction支持Lamda表达式
  8. 在PS里怎样使图层居中对齐?
  9. 设计模式 ( 六 ) 建造者模式
  10. jquery 获取 选中的radio的值
  11. 国电集团:电子招投标每年节约成本10亿元
  12. 计算机地图制图符号制作的心得,计算机地图制图原理与方法——地图符号设计参考文档...
  13. 这5款电影资源网站,让人第一眼就心动,第二眼就流连忘返!
  14. mysql 词频分析_09 使用python完成词频统计
  15. chromium下载编译过程
  16. Xgboost实践 | 第一名天池o2o优惠券的使用预测思路完整版
  17. 在VS Code中开发ESP32遇到如下IDF_PATH环境变量不一致的警告问题
  18. 励志视频,他没有手脚但是很幸福,不要抱怨
  19. C语言之电话信息查询
  20. Sony 宣布为 Xperia M 发放 Android 4.3 Jelly Bean 固件更新

热门文章

  1. 11.5 vmstat:虚拟内存统计
  2. 高一计算机常考内容,高一信息科技合格考知识点.doc
  3. 中油即时通信电脑版_联想超智能电脑横空出世 电脑适应人已成现实
  4. 如何用增长的思维做提效?
  5. “低代码”开发管理应用,这家大型连锁企业也说好
  6. Forrester发布最新云化数仓象限报告: 阿里云获评“强劲表现者”,排名国内第一
  7. 通过Kubernetes安全高效管理边缘节点,ACK@Edge年度重磅发布
  8. 科学地花钱:基于端智能的在线红包分配方案 (CIKM2020)
  9. JAVA技术周刊第一期:关于JVM你了解多少?看这篇文章就够了!
  10. RDS For MySQL常见连接问题总结