java爬虫爬取https协议的网站时,SSL报错, java.lang.IllegalArgumentException TSLv1.2 报错

时间:2022-08-30 17:15:48

目前在广州一家小公司实习,这里的学习环境还是挺好的,今天公司从业十几年的大佬让我检查一下几年前的爬虫程序是否还能使用……

我从myeclipse上check out了大佬的程序,放到workspace中开始试探……

第一个错误出现了:握手失败,https三次握手机制是我遇到的第一个问题……

大佬似乎发现了我的问题,于是过来指导,“你先这样,再这样,就可以了”……

惊慌的我赶快点头,“嗯嗯……”

于是按照大佬的指点,首先在对应的jdk目录下添加文件……

java爬虫爬取https协议的网站时,SSL报错, java.lang.IllegalArgumentException TSLv1.2 报错

java爬虫爬取https协议的网站时,SSL报错, java.lang.IllegalArgumentException TSLv1.2 报错

对应文件我放在百度上了,链接是:链接: https://pan.baidu.com/s/1GpKaF8zlF0ONJf3y_L7igg 提取码: nscm

大佬给我说的是:上面三个压缩包,选择对应的版本,把里面的两个文件:local_policy.jar,US_export_policy.jar覆盖掉,目录就是第一行的目录。

然后在选项:windows-preferences-java-Installed JREs中,点击你的jdk版本,点右边的edit键,在Default VM Arguments中,把调试模式打开,并添加支持的协议类型(建议大家按我这样写)……当然,具体情况需要具体分析,看报什么错。

java爬虫爬取https协议的网站时,SSL报错, java.lang.IllegalArgumentException TSLv1.2 报错

我严格的按照大佬的要求来,发现没用,还是报错,不知道是不是我刚开始把所有的协议都写上去的原因……

但是还是要搞定这个问题啊,于是,我开始疯狂百度,终于让我找到了解决办法。

那就是,下载 bcprov-ext-jdk15on-1.52   bcprov-jdk15on-1.52 这两个jar包,给大家贡献一个下载jar包的网站:https://mvnrepository.com/ 基本上我找jar包都是在这里了……

给大家下载好了这两个文件,放到网盘上:链接: https://pan.baidu.com/s/1Sfw7wxBSySXYpeyJm52Mow 提取码: 3is7

下载好之后,我们把jar包放到 $JAVA_HOME/jre/lib/ext 目录下面,然后编辑 $JAVA_HOME/jre/lib/security/目录下的  java.security  文件……

找到security.provider.9,然后在这句话下面加上:

security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider

之后,就重启一下myeclipse,毕竟重启能解决很多问题……

如果你严格按照我的步骤做到这里,问题基本上应该能解决了,如果还没有解决的话,那就换jdk版本试试。

需要更换项目jdk版本的话吗,请参照我的另一篇随笔……  https://www.cnblogs.com/sixgodbiao/p/10479887.html

java爬虫爬取https协议的网站时,SSL报错, java.lang.IllegalArgumentException TSLv1.2 报错的更多相关文章

  1. Java爬虫爬取网站电影下载链接

    之前有看过一段时间爬虫,了解了爬虫的原理,以及一些实现的方法,本项目完成于半年前,一直放在那里,现在和大家分享出来. 网络爬虫简单的原理就是把程序想象成为一个小虫子,一旦进去了一个大门,这个小虫子就像 ...

  2. java爬虫爬取网页内容前,对网页内容的编码格式进行判断的方式

    近日在做爬虫功能,爬取网页内容,然后对内容进行语义分析,最后对网页打标签,从而判断访问该网页的用户的属性. 在爬取内容时,遇到乱码问题.故需对网页内容编码格式做判断,方式大体分为三种:一.从heade ...

  3. 一个简单java爬虫爬取网页中邮箱并保存

    此代码为一十分简单网络爬虫,仅供娱乐之用. java代码如下: package tool; import java.io.BufferedReader; import java.io.File; im ...

  4. java爬虫爬取的html内容中空格( )变为问号“?”的解决方法

    用java编写的爬虫,使用xpath爬取内容后,发现网页源码中的 全部显示为?(问号),但是使用字符串的replace("?", ""),并不能替换,网上找了一 ...

  5. java爬虫爬取资源,小白必须会的入门代码块

    java作为目前最火的语言之一,他的实用性也在被无数的java语言爱好者逐渐的开发,目前比较流行的爬取资源,用java来做也更简单一些,下面是爬取网页上所有手机型号,参数等极为简便的数据 packag ...

  6. 用Java爬虫爬取凤凰财经提供的沪深A股所有股票代号名称

    要爬取的凤凰财经网址:http://app.finance.ifeng.com/list/stock.php?t=hs 本作主要采用的技术是jsoup,相关介绍网页:https://www.jians ...

  7. Java爬虫爬取京东商品信息

    以下内容转载于<https://www.cnblogs.com/zhuangbiing/p/9194994.html>,在此仅供学习借鉴只用. Maven地址 <dependency ...

  8. 如何使用robots禁止各大搜索引擎爬虫爬取网站

    ps:由于公司网站配置的测试环境被百度爬虫抓取,干扰了线上正常环境的使用,刚好看到每次搜索淘宝时,都会有一句由于robots.txt文件存在限制指令无法提供内容描述,于是便去学习了一波 1.原来一般来 ...

  9. 用scrapy爬取亚马逊网站项目

    这次爬取亚马逊网站,用到了scrapy,代理池,和中间件: spiders里面: # -*- coding: utf-8 -*- import scrapy from scrapy.http.requ ...

随机推荐

  1. Binding

    Binding基础  绑定某个对象的属性值到控制上,写法如下: public class Order : INotifyPropertyChanged//只要实现此接口 { public event  ...

  2. Ocelot中文文档-负载均衡

    Ocelot能通过可用的下游服务对每个ReRoute进行负载平衡. 这意味着您可以扩展您的下游服务,并且Ocelot可以有效地使用它们. 可用的负载均衡器的类型是: LeastConnection - ...

  3. Centos7的目录结构

    CentOS 目录结构 : /: 根目录,一般根目录下只存放目录,不要存放文件,/etc./bin./dev./lib./sbin应该和根目录放置在一个分区中/bin:/usr/bin: 可执行二进制 ...

  4. Git可视化教程——Git Gui的使用

    参考链接:https://blog.csdn.net/qq_34842671/article/details/70916587

  5. 八大排序算法详解(动图演示 思路分析 实例代码java 复杂度分析 适用场景)

    一.分类 1.内部排序和外部排序 内部排序:待排序记录存放在计算机随机存储器中(说简单点,就是内存)进行的排序过程. 外部排序:待排序记录的数量很大,以致于内存不能一次容纳全部记录,所以在排序过程中需 ...

  6. LintCode——数字统计

    数字统计:计算数字k在0到n中的出现的次数,k可能是0~9的一个值 样例:例如n=12,k=1,在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],我们发现1出现 ...

  7. Keepalived&plus;Nginx高可用集群

    Keepalived简介 Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替 ...

  8. 修改shell命令的history记录个数

    修改history记录的命令如下所示:# vi /etc/profile 找到histsize=1000,将其改为histsize=100(这条可根据实际情况而定). 不重启系统就可让其生效,如下所示 ...

  9. 洛谷P4717 【模板】快速沃尔什变换&lpar;FWT&rpar;

    题意 题目链接 Sol 背板子背板子 #include<bits/stdc++.h> using namespace std; const int MAXN = (1 << 1 ...

  10. taro 填坑之路(三)taro 缓存

    1.taro 缓存 /** * 缓存数据 H5 小程序 * {food.id:{菜品信息 Num}, } */ import Taro from '@tarojs/taro'; // 取值 let s ...