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

调整顺序后

补充返回值

优化代码

最终的笔记


相关推荐
爱学习的大牛1232 小时前
基于 FRP 实现内网穿透的跨网络 HTTP 服务转发方案
网络·网络协议·http
重启的码农2 小时前
enet源码解析(5)事件驱动服务 (Event Service)
c++·网络协议
重启的码农2 小时前
enet源码解析(6)协议处理逻辑 (Protocol Processing)
c++·网络协议
韩师学子--小倪4 小时前
http status 400 bad request
http
草莓熊Lotso4 小时前
Git 本地操作进阶:版本回退、撤销修改与文件删除全攻略
java·javascript·c++·人工智能·git·python·网络协议
ANGLAL4 小时前
30.分布式事务:本地事务 + RPC 的“隐形炸弹”
分布式·网络协议·rpc
澄岚明雪4 小时前
八股复习之计算机网络1
网络协议·tcp/ip·计算机网络·http·https·信息与通信
不一样的故事1264 小时前
要将 Git 仓库的上传(推送)方式从 HTTP/HTTPS 改为 SSH,
git·http·https
q***55585 小时前
使用 Nginx 搭建代理服务器(正向代理 HTTPS 网站)指南
运维·nginx·https
g***72705 小时前
springBoot发布https服务及调用
spring boot·后端·https