java发送请求-http和https

http和https区别

1、http是网络传输超文本协议,client---- http------ server

2、https=http+ssl证书,让网络传输更安全 ,client---- http+ssl------ server

3、ssl证书是需要客户端认可的,注意官方证书和jdk生成的证书的用户来使用区别


第一步信任所有证书+创建ssl网络连接对象

引入建立连接的源码类

有3个构造方法使用

查看源码作用-建立网络链接ssl

client---- http+ssl------ server

这个源码有4个参数,传入这4个参数,就能创建ssl网络连接对象


看构造-没有好用的方法

引入新的类builder为生成器,可以生成sslcontext

因为.build方法的返回值就是sslcontext,所以我们调用build函数

得到第一个参数sslcontext,需要在这个参数里传入信任证书的代码

需要有关联性

继续分析sslcontextbuilder类,这里其他的构造方法获取密钥等不能使用,可用的是loadTrustMaterial(信任证书材料)

这个方法是一个接口,是信任证书的过程

入参是接口类,所以需要找子类

找子类,其中可使用方法是第2个

看看这个类是做什么的

我接受你所有的证书,因为我是认可你的

最终代码

优化

信任所有的证书


第2个参数

抽象类不能直接使用,但我们需要这个域名的参数

新的方法找域名,网站地址,

把域名代码写出


new sslconnectionsocketfactory看里面的参数

支持协议,密码

协议支持的协议版本,密码没人会给,也拿不到就为null

调整顺序后

补充返回值

优化代码

最终的笔记


相关推荐
冰暮流星6 小时前
flask之http请求方法
网络·网络协议·http
K成长日志6 小时前
BLE协议之设备地址
网络·物联网·网络协议·嵌入式·蓝牙·ble
liulilittle7 小时前
KCC 边界缺陷深度分析:六问题根源与解决方案
网络·网络协议·tcp/ip·计算机网络·信息与通信·ip·通信
犹豫的哑铃10 小时前
WebSocket 协议
网络·websocket·网络协议
funnycoffee12310 小时前
lacp报文占多少字节?报文的目的mac
网络·网络协议·macos
lihao lihao11 小时前
Tcp Socket
网络·网络协议·tcp/ip
从零开始的代码生活_11 小时前
Linux select 多路转接详解
linux·运维·服务器·网络·网络协议·tcp/ip·计算机网络
2401_8685347811 小时前
网络安全:信息加密、认证(鉴别)、数字签名(CA)、密钥安全分发
网络·网络协议
国强_dev21 小时前
技术探讨:使用 stunnel 加密转发数据库连接时,如何获取客户端真实 IP?
数据库·网络协议·tcp/ip
AlfredZhao1 天前
Linux 主机防火墙如何同时开启 80 和 443?
http·https·firewall