解决forest低版本请求不安全的网站出现SSL认证不通过问题

前言

先说结论:无法解决

那既然无法解决,为啥还要写这样一篇文章呢,是因为这个问题我弄了一天多,我觉得有必要记录一下;

同时后面也是使用了hutool 的http作为代替方案,也是因为在hutool的官网没有特意标明,所以这也是一个理由吧!

解决问题的步骤

简单点说,就是公司系统,只允许使用forest1.5.24版本,不允许升级版本,所以在请求接口的时候遇到了ssl认证不通过的问题,即:

image-20230710143913008

1、当然是百度

image-20230710144447525

我的期望是,在forest的基础上配置,一搜,有绕过ssl的,但丝毫未提过forest,所以直接放弃;

2、官网

forest官网

在官网中我们可以看见有关于SSL的配置,但最低版本是1.5.28,死马当活马医,配置自定义的SSLSocketFactory,然后使用@SSLSocketFactoryBuilder(MySSLSocketFactoryBuilder.class)

image-20230710145744994

然后就没然后了,如果有用我上面也不会说解决不了了,这个只是针对后续版本的

3、看源码

查看源码得知,它提供了一个单向的绕过ssl认证的方法,既:

image-20230710150050353

然后也没然后,没卵用,我可以确定我姿势没问题

4、GPT

GPT信息停滞在2021,所以在它的认知中,最新版本是1.5.12版本,不知道是不是这个原因,它提供了一大堆根本不存在的方法和错误姿势给我,怀疑人生:

image-20230710150540398

image-20230710150549473

吐了,直接抛弃

5、直接去gitee上看源代码的问题

image-20230710150851347

大家可以自行去看看,我都试过了,无解,没卵用,然后我自己也提出一个问题以及私信:

image-20230710150939220

image-20230710152114821

forest的作者直接推荐升级版本,可问题就是不能升级哦,到这我就直接抛弃使用forest,采用别的方式

解决一

如果你的版本是可以升级的,无需考虑兼容性的话,建议直接升级到>=1.5.26版本,原因在1.5.26版本之后就默认自动绕过SSL验证了:

image-20230710151234512

解决二

使用别的Http框架,有apache,原生的、feign、hutool、。。。,我使用的是hutool的,就图方便:

基础操作官网都有,使用HttpUtil或者HttpRequest,这里需要指明的是下载文件,带参数,带请求头,官网没指出,其实也是使用HttpRequest:

import cn.hutool.core.io.FileUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;

import java.io.File;

public class FileDownloadExample {
    public static void main(String[] args) {
        HttpRequest request = HttpRequest.get("文件的URL");
        request.header("Header1", "Value1");  // 设置请求头
        request.form("param1", "value1");  // 设置参数

        HttpResponse response = request.execute();

        if (response.isOk()) {
            byte[] fileBytes = response.bodyBytes();
            File file = new File("保存路径");
            FileUtil.writeBytes(fileBytes, file);
            
            // 文件下载完成,可以使用file对象进行操作
            System.out.println("文件保存成功:" + file.getAbsolutePath());
        } else {
            System.out.println("请求失败,状态码:" + response.getStatus());
        }
    }
}

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值