`
lizhen6669
  • 浏览: 2411 次
  • 性别: Icon_minigender_2
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

java ssl 访问https

阅读更多
import java.io.DataInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
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;
public class TrustSSL {
 private static class TrustAnyTrustManager implements X509TrustManager {
  @Override
  public void checkClientTrusted(X509Certificate[] arg0, String arg1)
    throws CertificateException {
   // TODO Auto-generated method stub
   
  }
  @Override
  public void checkServerTrusted(X509Certificate[] arg0, String arg1)
    throws CertificateException {
   // TODO Auto-generated method stub
   
  }
  @Override
  public X509Certificate[] getAcceptedIssuers() {
   // TODO Auto-generated method stub
   return new X509Certificate[]{};
  }  
  
 }
 
 private static class TrustAnyHostnameVerifier implements HostnameVerifier {
  @Override
  public boolean verify(String arg0, SSLSession arg1) {
   // TODO Auto-generated method stub
   return true;
  }
  
 }
 
 public static void main(String args[]) {
  DataInputStream in = null;
  OutputStream out = null;
  byte[] buffer = new byte[4096];
  String str_return = "";
  try {
   SSLContext sc = SSLContext.getInstance("SSL");
   sc.init(null, new TrustManager[]{new TrustAnyTrustManager()}, new java.security.SecureRandom());
   URL console = new URL("https://sd.12530.com/user/querysinger1.do?singerletter=all&spid=all");
   HttpsURLConnection conn = (HttpsURLConnection)console.openConnection();
   conn.setSSLSocketFactory(sc.getSocketFactory());
   conn.setHostnameVerifier(new TrustAnyHostnameVerifier());
   conn.connect();
   //out = conn.getOutputStream();
   in = new DataInputStream(conn.getInputStream());
   while(in.read(buffer) > 0) {
    str_return = str_return + new String(buffer, "GBK");
   }
   conn.disconnect();
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   if (in != null) {
    try {
     in.close();
    } catch (Exception e) {
     e.printStackTrace();
    }
   }
   if (out != null) {
    try {
     out.close();
    } catch (Exception e) {
     e.printStackTrace();
    }
   }
  }
  System.out.println(str_return);
 }
}
分享到:
评论

相关推荐

    java实现读取证书访问https接口

    在Java编程中,访问HTTPS(安全超文本传输协议)接口通常涉及到处理数字证书,这是为了确保数据传输的安全性。HTTPS通过使用SSL/TLS协议来加密通信,而证书是该协议的一部分,用于验证服务器的身份。本篇文章将深入...

    java访问https网址下载文件(含证书)

    当你访问HTTPS站点时,Java默认的TrustStore可能不包含特定服务器的证书,因此需要自定义SSL上下文。首先,你需要将服务器的证书导入到一个信任库文件(如JKS或PKCS12格式),然后创建一个`SSLContext`对象,并设置...

    java信任SSL证书的工具类

    java信任SSL证书的工具类 忽略HTTPS请求的SSL证书,必须在openConnection之前调用

    java https ssl 实例 例子

    在本实例中,我们使用 Java 的 SSL SOCKET 编程来访问支付宝的 HTTPS 网站。 十四、JAVA SSL SOCKET 双向认证 JAVA SSL SOCKET 双向认证是指客户端和服务器双方都需要验证对方的身份。这种方式可以提供更高的安全...

    java访问IBM MQ SSL加密通道

    描述了java程序代码去访问MQ的SSL加密的通道。如何配置JKS,如何配置MQ服务器的SSL秘钥库,如何配置证书制作证书和秘钥库。主要是如何编写java代码去访问SSL通道并取到数据。

    Java ssl socket 双向认证

    SSL通过使用加密技术来保护数据,防止未经授权的访问和篡改。在Java中,我们可以使用JSSE(Java Secure Socket Extension)库来实现SSL连接。双向认证,也称为客户端和服务器端的相互认证,是一种更高级的安全策略,...

    java访问https网址下载文件

    当访问HTTPS网址时,Java会检查服务器的SSL证书。如果证书不在受信任的证书颁发机构列表中,或者证书未正确配置,Java会抛出异常。为了解决这个问题,我们需要自定义一个`TrustManager`,允许所有证书,或者导入...

    Java Https请求,跳过证书,直接访问

    在Java编程中,HTTPS(Hypertext Transfer Protocol Secure)是一种用于在互联网上安全传输数据的协议,它基于HTTP,但提供了额外的安全性层,通过SSL/TLS(Secure Sockets Layer/Transport Layer Security)来加密...

    c#如何调用SSl(https)加密的java写的Web Services例子

    net去调用java端写的https webservices 1)浏览器导入服务器cer证书 2)c#客户端引入证书

    Java中的SSL及HTTPS协议实例源码.zip

    当用户访问HTTPS网站时,浏览器会检查服务器的数字证书是否由可信任的证书颁发机构签发,以确保连接的安全性。 在Java中实现SSL和HTTPS,主要涉及以下几个关键步骤: 1. **配置SSL上下文(SSLContext)**:首先...

    SSL跳过证书 java

    SSL跳过证书 java ctx.init(null, new TrustManager[] { tm }, new java.security.SecureRandom()); // SSLConnectionSocketFactory ssf = new SSLConnectionSocketFactory( // ctx, NoopHostnameVerifier.INSTANCE)...

    https的get和post请求,去除ssl校验的java工具类

    java的get和post请求,获取json的工具类,https时会存在ssl校验的问题,工具会自动去除ssl校验。

    java_https_ssl

    IE浏览器在访问HTTPS站点时,会验证服务器的SSL证书,包括证书的颁发机构、有效期、公钥以及与域名的匹配性。如果证书无效或不被信任,浏览器会显示警告信息,用户可以选择继续访问或中断连接。 SSL介绍 SSL协议是...

    Tomcat_SSL.rar_JAVA SSL _ssl_ssl java_tomcat_tomcat ssl

    通过以上步骤,你可以在Tomcat上启用SSL,为你的Java Web应用提供安全的HTTPS访问。在实际操作中,还需要考虑与应用的其他安全策略的协调,比如防火墙规则、Web应用防火墙配置等,以确保全方位的安全保障。 在提供...

    springboot下配置SSL证书HTTPS访问

    SpringBoot 作为一个流行的 Java 框架, 提供了许多便捷的配置方式来实现 HTTPS 访问。HTTPS 是一种基于 SSL/TLS 加密的协议,用于确保数据在网络传输过程中的安全性。下面将详细介绍如何在 SpringBoot 中配置 SSL ...

    java client访问https server(客户端代码、服务器端配置)

    Java客户端访问HTTPS服务器涉及到的是网络安全通信中的SSL/TLS协议,主要目的是确保数据传输的安全性,防止数据被篡改或窃取。在这个过程中,Java的JSSE(Java Secure Socket Extension)框架提供了实现HTTPS通信的...

    Java Https工具类,Java Https Post请求

    - Java通过`java.net.URL`,`java.net.HttpURLConnection`和`javax.net.ssl.SSLContext`等类提供了对HTTPS的支持。 - `HttpURLConnection`是HTTP/HTTPS请求的基础,可以通过设置`setUrl(url)`和`setRequestMethod...

    SSL及HTTPS配置文档

    当用户访问HTTPS网站时,浏览器会与服务器交换SSL证书,验证其有效性,然后使用公钥加密传输数据。 在配置HTTPS时,主要步骤包括: 1. **申请SSL证书**:联系CA,提交必要的域名、组织和个人信息,并经过验证。 2....

Global site tag (gtag.js) - Google Analytics