代码

import javax.net.ssl.HostnameVerifier;

import javax.net.ssl.HttpsURLConnection;

import javax.net.ssl.SSLContext;

import javax.net.ssl.SSLSession;

import javax.net.ssl.TrustManager;

import javax.net.ssl.X509TrustManager;

import javax.servlet.http.HttpServletRequest;

import java.net.HttpURLConnection;

import java.net.MalformedURLException;

import java.net.URL;

import java.rmi.RemoteException;

public static HttpsURLConnection httpsCon(String httpsURL, String query){

try{

TrustManager[] trustAllCerts = new TrustManager[]{

new X509TrustManager() {

public java.security.cert.X509Certificate[] getAcceptedIssuers() {

return null;

}

public void checkClientTrusted(

java.security.cert.X509Certificate[] certs, String authType) {

}

public void checkServerTrusted(

java.security.cert.X509Certificate[] certs, String authType) {

}

}

};

// Install the all-trusting trust manager

SSLContext sc = SSLContext.getInstance("SSL");

sc.init(null, trustAllCerts, new java.security.SecureRandom());

HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());

// Create all-trusting host name verifier

HostnameVerifier allHostsValid = new HostnameVerifier() {

public boolean verify(String hostname, SSLSession session) {

return true;

}

};

// Install the all-trusting host verifier

HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);

URL myurl = new URL(httpsURL);

HttpsURLConnection con = (HttpsURLConnection)myurl.openConnection();

con.setRequestMethod("POST");

con.setRequestProperty("Content-length", String.valueOf(query.length()));

con.setRequestProperty("Content-Type","application/x-www-form-urlencoded");

con.setDoOutput(true);

con.setDoInput(true);

return con;

}catch(Exception ce){

log.info("IndoUtil.httpscon()"+IndoUtil.getFullLog(ce));

}

return null;

}

当我将https网址传递给该方法时,我收到以下异常,我无法找到问题,有人请指出

导致异常的实际行是 con.getOutputStream()

HttpsURLConnection con = IndoUtil.httpsCon(httpsURL, query);

DataOutputStream output = new DataOutputStream(con.getOutputStream());

at java.net.SocketInputStream.read(SocketInputStream.java:196)at java.net.SocketInputStream.read(SocketInputStream.java:122)at sun.security.ssl.InputRecord.readFully(InputRecord.java:442)at sun .security.ssl.InputRecord.read(InputRecord.java:480)at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:946)at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1344)at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1371)在sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1355)在sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient . 的java:559)在sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)在sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1093)在sun.net .protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:250)at com.ibm.indo.serviceImpl.GenericServiceImpl.checkDompetku注册(GenericServiceImpl.java:2042)在com.ibm.indo.controller.IndoServiceController.customerProfile(IndoServiceController.java:140)在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl . 的java:57)在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)在java.lang.reflect.Method.invoke(Method.java:606)在org.springframework.web.method.support.InvocableHandlerMethod.doInvoke (InvocableHandlerMethod.java:221)org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java) :110)在org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:776)在org.springframework.web.servlet.mvc.method.annotation.RequestMappingHand lerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705)org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java: 959)在org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)在org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:967)在org.springframework.web.servlet.FrameworkServlet .doPost(FrameworkServlet.java:869)位于javax.servlet的org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843)的javax.servlet.http.HttpServlet.service(HttpServlet.java:754) . http.HttpServlet.service(HttpServlet.java:847)在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)在com.ibm.indo.util.SessionFilter.doFilter (SessionFilter.java:62)在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)在org.apache . catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)在org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve . java:153)org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)at org.apache.catalina.core .StandardEngineValve.invoke(StandardEngineValve.java:109)在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)在org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)在org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java :671)atg.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:930)at java.lang.Thread.run(Thread.java:745)

java连接https,连接重置为https连接相关推荐

  1. 在独立Java应用程序中使用Tomcat JDBC连接池

    这是从我们的客人文章W4G伙伴克拉伦斯豪的作者临春3从A按. 您可能会在文章结尾找到本书的折扣券代码,仅适用于Java Code Geeks的读者! 请享用! 在需要数据访问权限的独立Java应用程序 ...

  2. java调用url505_JAVA中三种URL连接方法

    Java的网络类可以让你通过网络或者远程连接来实现应用.而且,这个平台现在已经可以对国际互联网以及URL资源进行访问了.Java的URL类可以让访问网络资源就像是访问你本地的文件夹一样方便快捷.我们通 ...

  3. JAVA 判断Socket 远程端是否断开连接

    JAVA 判断Socket 远程端是否断开连接 最近在做项目的时候,遇到这样一个问题,如何判断 Socket 远程端连接是否关闭,如果关闭的话,就要重建连接Socket的类提供了一些已经封装好的方法, ...

  4. java mysql 连接测试_java连接mysql数据库及测试是否连接成功的方法

    本文实例讲述了java连接mysql数据库及测试是否连接成功的方法.分享给大家供大家参考,具体如下: package com.test.tool; import java.sql.Connection ...

  5. java实现并发连接池_java并发实战:连接池实现

    池化技术简介 在我们使用数据库的过程中,我们往往使用数据库连接池而不是直接使用数据库连接进行操作,这是因为每一个数据库连接的创建和销毁的代价是昂贵的,而池化技术则预先创建了资源,这些资源是可复用的,这 ...

  6. Mac无法连接wifi,重置wifi模块

    mac上经常会出现连接wifi失败的情况,连接某个wifi会出现执行诊断的窗口,这时候可能需要重置wifi模块.具体操作如下: 1. 关机,拔掉电源 2.同时按住shift+control+optio ...

  7. 电脑网络重置后如何连接网络

    平时电脑都会出现问题,有时候会选择将电脑进行恢复出厂设置,提高电脑的运行速度.但是重置网络之后,发现电脑重启之后再也不能联网了,桌面右下角原本有的有线网卡.无线网卡的图标全部消失不见了,怎么设置都不行 ...

  8. java链接_JAVA中三种URL连接方法

    Java的网络类可以让你通过网络或者远程连接来实现应用.而且,这个平台现在已经可以对国际互联网以及URL资源进行访问了.Java的URL类可以让访问网络资源就像是访问你本地的文件夹一样方便快捷.我们通 ...

  9. 大数据笔记16—java基础篇12(JDBC 、连接池、事务)

    目录 JDBC jdbc概述 jdbc入门案例 API详解 jdbc工具类 预编译执行平台 1.SQL注入问题(安全问题) 2API详解:预处理对象(PreparedStatement) 使用连接池重 ...

最新文章

  1. bool变量取反_Task 01:Python基础入门:从变量到异常处理(第1天)
  2. python deque索引超出范围_Python基础语法
  3. C++之全局函数和成员函数的转换
  4. Java 并发(JUC 包-04)
  5. VS2013 ConsoleApplication1.exe”(Win32):无法查找或打开 PDB 文件。
  6. 提交表单时,请求的资源[/222/getServlet]不可用(已解决)
  7. Win7+Ubuntu 16.04LTS 双系统安装
  8. 模型常见问题及规范--模型制作PBR流程规范规范
  9. 横空出世,互联网的前世今生
  10. Bioinformatics生物信息专业相关网址
  11. hql 语句不能包含关键字
  12. 培训笔记——如何将Wizfi2X0的固件升级
  13. 喜闻乐见的「手算题」技巧3:巧用 Python
  14. Vmware Ubuntu 无法解析域名解决
  15. 翻译连载 | JavaScript轻量级函数式编程-第4章:组合函数 |《你不知道的JS》姊妹篇
  16. facebook修改权限_如何在Facebook上更改小组的隐私
  17. 华为开发者联盟安卓Push Demo无法接收消息的解决
  18. 要将大数据和分析转变为竞争优势,实现业务转型,必须做到这三点!
  19. 中国垃圾分类产业链现状动态及未来发展前景预测报告(2022-2027年)
  20. EIA 标准电阻速查表

热门文章

  1. 学习开源项目Halo(二)
  2. GPT_MBR与GPT分区扫盲,希捷2T、3T硬盘测评(多图杀猫)。申精!
  3. 基于 OpenCV 的车辆检测系统
  4. BetaFlight深入传感设计之九:传感坐标系/机体坐标系/导航坐标系/经纬度坐标系
  5. sourcetree离线安装,免注册安装,跳过注册安装
  6. 加拿大安省哪个高中注重计算机,安省高中体制,你真的了解吗
  7. 217页12万字某智慧城市政务云平台项目建设方案2022年
  8. Linux系统编程------mmap函数
  9. AI Studio 飞桨 零基础入门深度学习笔记4-飞桨开源深度学习平台介绍
  10. iOS 相机实时滤镜效果