Java中请求HTTPS加密的源代码

简介:  HTTPS访问方法的代码,抄一个能用的DEMO吧,我测试过的,可以用、,希望对大家也有用   import java.io.*;import java.net.*;import java.security.*;import java.security.cert.*;import java.util.*;import javax.net.ssl.*;public class Http

 HTTPS访问方法的代码,抄一个能用的DEMO吧,我测试过的,可以用、,希望对大家也有用

 

import  java.io. * ;
import  java.net. * ;
import  java.security. * ;
import  java.security.cert. * ;
import  java.util. * ;
import  javax.net.ssl. * ;

public   class  HttpsTest  {
    
// We would never hardcode this literal in a real system,
    
// this is only for this article.
    private String url = "https://www.paypal.com/cn";

    
// Create an anonymous class to trust all certificates.
    
// This is bad style, you should create a separate class.
    private X509TrustManager xtm = new X509TrustManager() {
        
public void checkClientTrusted(X509Certificate[] chain, String authType) {}

            
public void checkServerTrusted(X509Certificate[] chain, String authType) {
                System.out.println(
"cert: " + chain[0].toString() + ", authType: " + authType);
            }


            
public X509Certificate[] getAcceptedIssuers() {
                
return null;
            }

    }


    
// Create an class to trust all hosts
    private HostnameVerifier hnv = new HostnameVerifier() {
        
public boolean verify(String hostname, SSLSession session) {
            System.out.println(
"hostname: " + hostname);
            
return true;
        }

    }


    
// In this function we configure our system with a less stringent
    
// hostname verifier and X509 trust manager.  This code is
    
// executed once, and calls the static methods of HttpsURLConnection
    public HttpsTest() {
        
// Initialize the TLS SSLContext with
        
// our TrustManager
        SSLContext sslContext = null;

        
try {
            sslContext 
= SSLContext.getInstance("TLS");
            X509TrustManager[] xtmArray 
= new X509TrustManager[] { xtm };
            sslContext.init(
null, xtmArray, new java.security.SecureRandom());
        }
 catch(GeneralSecurityException gse) {
            
// Print out some error message and deal with this exception
        }


        
// Set the default SocketFactory and HostnameVerifier
        
// for javax.net.ssl.HttpsURLConnection
        if(sslContext != null{
            HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
        }


        HttpsURLConnection.setDefaultHostnameVerifier(hnv);
    }


    
// This function is called periodically, the important thing
    
// to note here is that there is no special code that needs to
    
// be added to deal with a "HTTPS" URL.  All of the trust
    
// management, verification, is handled by the HttpsURLConnection.
    public void run() {
        
try {
            URLConnection urlCon 
= (new URL(url)).openConnection();
            BufferedReader in 
= new BufferedReader(new InputStreamReader(urlCon.getInputStream()));
            String line;

            
while((line = in.readLine()) != null{
                System.out.println(line);
            }


        
//  Whatever we want to do with these quotes
        }
 catch(MalformedURLException mue) {
            mue.printStackTrace();
        }
 catch(IOException ioe) {
            ioe.printStackTrace();
        }
 catch(Exception e) {
            e.printStackTrace();
        }

    }


    
public static void main(String[] args) {
        HttpsTest httpsTest 
= new HttpsTest();
        httpsTest.run();
    }

}
 
相关文章
|
6月前
|
设计模式 Java Spring
Java 设计模式之责任链模式:优雅处理请求的艺术
责任链模式通过构建处理者链,使请求沿链传递直至被处理,实现发送者与接收者的解耦。适用于审批流程、日志处理等多级处理场景,提升系统灵活性与可扩展性。
682 2
|
安全 算法 网络协议
解析:HTTPS通过SSL/TLS证书加密的原理与逻辑
HTTPS通过SSL/TLS证书加密,结合对称与非对称加密及数字证书验证实现安全通信。首先,服务器发送含公钥的数字证书,客户端验证其合法性后生成随机数并用公钥加密发送给服务器,双方据此生成相同的对称密钥。后续通信使用对称加密确保高效性和安全性。同时,数字证书验证服务器身份,防止中间人攻击;哈希算法和数字签名确保数据完整性,防止篡改。整个流程保障了身份认证、数据加密和完整性保护。
|
9月前
|
算法 安全 网络安全
https 的加密过程
HTTPS通过SSL/TLS协议实现安全通信,结合非对称加密与对称加密技术。客户端与服务器协商加密套件,验证证书后生成主密钥用于后续数据加密传输,确保身份真实、数据保密与完整。
2417 1
|
10月前
|
存储 Java 数据安全/隐私保护
Java技术栈揭秘:Base64加密和解密文件的实战案例
以上就是我们今天关于Java实现Base64编码和解码的实战案例介绍。希望能对你有所帮助。还有更多知识等待你去探索和学习,让我们一同努力,继续前行!
633 5
|
存储 缓存 Java
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
2093 3
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
|
运维 Cloud Native Java
postman发起post请求遇到报错:java.io.FileNotFoundException (文件名、目录名或卷标语法不正确。)
遇到bug报错,多猜可能的原因,控制变量反复测试,直至找到问题的关键,然后再思考如何解决或者回避。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
安全 Java API
java如何请求接口然后终止某个线程
通过本文的介绍,您应该能够理解如何在Java中请求接口并根据返回结果终止某个线程。合理使用标志位或 `interrupt`方法可以确保线程的安全终止,而处理好网络请求中的各种异常情况,可以提高程序的稳定性和可靠性。
276 6
|
云安全 安全 数据建模
《数字证书:互联网世界的"身份证"与"防盗门"》 ——揭秘网络安全背后的加密江湖
在2023年某深夜,上海陆家嘴金融公司机房遭遇黑客攻击,神秘青铜大门与九大掌门封印的玉牌突现,阻止了入侵。此门象征数字证书,保障网络安全。数字证书如验钞机识别假币,保护用户数据。它通过SSL/TLS加密、CA认证和非对称加密,构建安全通信。证书分为DV、OV、EV三类,分别适合不同场景。忽视证书安全可能导致巨额损失。阿里云提供一站式证书服务,助力企业部署SSL证书,迎接未来量子计算和物联网挑战。
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
317 10
下一篇
开通oss服务