/**
* 发起https请求并获取结果
*
* @param requestUrl 请求地址
* @param requestMethod 请求方式(GET、POST)
* @param outputStr 提交的数据
* @return JSONObject(通过JSONObject.get(key)的方式获取json对象的属性值)
*/
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;
}
/**
* 发起http请求并获取结果
*
* @param requestUrl 请求地址
* @param requestMethod 请求方式(GET、POST)
* @param outputStr 提交的数据
* @return JSONObject(通过JSONObject.get(key)的方式获取json对象的属性值)
*/
public static String httpRequest(String requestUrl, String requestMethod, String outputStr){
JSONObject jsonObject = null;
StringBuffer buffer = new StringBuffer();
try {
URL url = new URL(requestUrl);
HttpURLConnection httpUrlConn = (HttpURLConnection) url.openConnection();
httpUrlConn.setDoOutput(true);
httpUrlConn.setDoInput(true);
httpUrlConn.setUseCaches(false);
// 设置请求方式(GET/POST)
httpUrlConn.setRequestMethod(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();
/* if(!"".equals(buffer.toString().trim())){
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 buffer.toString();
} 相关推荐
从‘包饺子’到‘包络线’:一个生活化比喻讲透长期与短期成本决策
本文通过饺子馆经营的生活化比喻,深入浅出地解析了长期与短期成本决策的核心逻辑。从调整人力(可变成本)到扩建厨房(固定成本),揭示了包络线理论在商业决策中的实际应用,帮助企业主在规模经济与成本控制间找到平衡点。
java实现HttpsURLConnection post请求contentType为form形式和json形式的发送并接收
概要分析: 1.你的项目要支持https才能实现https接口的调用; 2.和传统http请求方式有所不同,HTTPS,即安全的超文本传输协议,采用了SSL技术,被广泛使用以保证Web应用系统的安全性。访问Web应用的编程接口大多封装了SSL,使得访问HTTPS和访问HTTP一样简单。但是很多中、小型应用系统或基于局域网、校园网的应用系统所使用的证书并不是由权威的认证机构发行或者被其验证,直接使用...
Midas Civil实战避坑指南:从建模报错到施工阶段分析
本文详细解析了Midas Civil在桥梁建模与施工阶段分析中的实战避坑技巧,涵盖从基础建模到高级边界条件设置的全流程。针对截面定义、节点创建、施工荷载区分等常见问题提供专业解决方案,帮助工程师避免计算误差,提升结构分析效率。特别强调施工阶段荷载与恒荷载的正确处理,以及弹性连接的合理应用。
java 通过HttpsUrlConnection访问接口数据
[code="yml"] server: ssl: key-store: classpath:key/rsakey.jks key-store-password: 123456 key-store-type: JKS key-alias: tomcatjks urls: /* port: 8443 non-ssl-port: 8...
Win10环境下VS2019离线部署OnnxRuntime的完整指南
本文提供了在Windows 10系统下,为Visual Studio 2019进行OnnxRuntime离线部署的完整教程。针对网络受限环境,详细讲解了如何获取正确的离线安装包、配置本地NuGet源,并逐步指导项目配置与测试,确保AI模型在C++环境中顺利运行。
WSL2双显卡配置实战:避开Tesla与TCC模式的那些坑
本文针对WSL2环境下无法识别Tesla计算卡的问题进行深度解析。核心原因在于WSL2目前仅支持WDDM模式的显卡,而Tesla系列及运行在TCC模式下的显卡因采用纯计算架构而无法兼容。文章提供了详细的排查步骤,并给出了包括调整显卡用途、使用虚拟机或物理机在内的多种实用解决方案,帮助开发者避开配置陷阱。
Java中用HttpsURLConnection访问Https链接的问题
在web应用交互过程中,有很多场景需要保证通信数据的安全;在前面也有好多篇文章介绍了在Web Service调用过程中用WS-Security来保证接口交互过程的安全性,值得注意的是,该种方式基于的传输协议仍然是Http,采用这种方式可扩 展性和数据交互效率比较高;另外一种实现方
十大排序算法详解(一)冒泡排序、选择排序、插入排序、快速排序、希尔排序
冒泡排序、选择排序、插入排序、快速排序、希尔排序
Java Web 学习笔记之三: HttpURLConnection 模拟表单上传文件
利用HttpURLConnection发送post请求上传文件
新手必看!Unity中Tag和Layer的7个实际应用场景(含MOBA案例)
本文深入探讨Unity中Tag和Layer的7个实际应用场景,特别以MOBA游戏开发为例,详细解析如何利用LayerMask进行高效场景管理和碰撞检测优化。从双相机方案到射线检测的精准控制,帮助开发者掌握这些基础功能的进阶用法,提升游戏性能和开发效率。
【24E】SWT6652 wifi驱动加载失败问题分析及解决方案
修改驱动配置Kconfig。是由于内存分配失败导致。
java HttpsURLConnection或HttpURLConnection请求方式 请求接口
java HttpsURLConnection请求方式 参数示例 String data = "" + "uuid=" + kakaoId + "&device_id=" + deviceId + "&push_type=" + phoneType + "&pus
FPGA实现DDR接口
verilog// DDR2控制器状态机// 初始化序列// 发出初始化命令endendendend// 自动预充电end// 其他状态...endcaseendend。
java的connect和http_java发起HttpURLConnection和HttpsURLConnection请求 | 学步园
/*** 发起https请求并获取结果** @param requestUrl 请求地址* @param requestMethod 请求方式(GET、POST)* @param outputStr 提交的数据* @return JSONObject(通过JSONObject.get(key)的方式获取json对象的属性值)*/public static JSONObject httpsReque...
汉书HE8,好用的汇编代码编写工具
汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
sun.net.www.protocol.http.HttpURLConnection cannot be cast to javax.net.ssl.HttpsURLConnection
java利用https请求服务器 sun.net.www.protocol.http.HttpURLConnection cannot be cast to javax.net.ssl.HttpsURLConnection
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
java原生请求https的方式
2019独角兽企业重金招聘Python工程师标准>>> ...
Data-Structures-and-Algorithm-Analysis-in-Java.pdf
作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...
java后台发起上传文件的post请求(http和https)
一、http post 对于文件上传,客户端通常就是页面,在页面里实现上传文件不是什么难事,写个form,加上enctype="multipart/form-data",在写个接收的就可以了,没什么难的。如: <!DOCTYPEhtml> <html> <head> <title>HelloWorld!</titl...
httpsurlconnection java_Java https请求 HttpsURLConnection | 学步园
以下主要讲解如何使用https发起post请求:参考文档:梁栋前辈的《Java加密与解密的艺术》import java.io.BufferedReader;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.net.MalformedURLExc...
关于HttpsURLConnection自动重试导致的请求重复
[问题描述] 在业务中与第三方对接时,在11秒log显示开始发起请求,24秒接受到请求结果,显示“请求序列号重复,请求失败”。查询log确认这段程序只触发一次,对方给出的日志显示第一次请求11秒接收,14秒给出返回结果,23秒收到同一序列号的请求,给出请求失败的response。 [代码段] /** * 向指定URL发送POST方法的请求 * * @return URL所代
java后台发起上传文件的post请求 http和https
java后台发起上传文件的post请求 http和https
Java 调用 Https 请求(2021/05/11)
记录Java发送HTTPS Get请求,其他请求方法类似。 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.net.ssl.*; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net
HttpURLConnection和HttpsURLConnection
为什么80%的码农都做不了架构师?>>> ...
Java网络连接之HttpURLConnection、HttpsURLConnection
Java网络连接之HttpURLConnection、HttpsURLConnection 工具类包含两个方法: http请求、https请求 直接看代码: package com.jtools; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; imp...
HTTP协议请求实现类CloseableHttpClient和HttpsURLConnection及HttpURLConnection
前者是apache提供的http连接池技术,后者是java原生http请求实现类。 Java发HTTP请求,最常见的无非是两种,一种是用java.net.URLConnection,另一种则是大名鼎鼎的HttpClient。使用java.net.URLConnection比较麻烦,而HttpClient则比较简便。 发起HTTP协议的交互请求:想发起就能发起(符合万维网系统制定的HTTP协议即...
338



被折叠的 条评论
为什么被折叠?



