使用curl或wget连接网站的怎样忽略SSL证书错误

admin1个月前笔记43

当我们使用 curl 命令访问网站的时候,有时候可能会得到一个 SSL 证书错误:
这是因为在默认情况下,cURL 使用 SSL 证书进行连接,如果指定的网站配置错误或证书过期,则会引发错误。
下面我们看一下如何忽略其中的 SSL 证书错误。

使用 cURL 忽略 SSL 证书错误

一般来说,直接忽略错误然后继续连接故障网站是不推荐的。但是如果你信任该网站,那就可以。
使用 curl 的时候,附带 --insecure 选项可以忽略 ssl 证书错误,如下代码:

$ curl https://expired.badssl.com
curl: (60) SSL certificate problem: certificate has expired
More details here: https://curl.se/docs/sslcerts.html
curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

另外,也可以使用 -k 选项,其与 --insecure 的效果是相同的:
使用curl或wget连接网站的怎样忽略SSL证书错误使用curl或wget连接网站的怎样忽略SSL证书错误

对所有 SSL 连接都使用 --insecure 选项

注意:除非在隔离或测试环境下可以执行此操作,否则不建议这样做。
你可以使用如下命令将 insecure 添加到 curl 配置文件中:

echo "insecure" >> ~/.curlrc

然后,在不使用 --insecure 选项的情况下,再次直接使用 curl 连接 html地址,也是可以成功的:
使用curl或wget连接网站的怎样忽略SSL证书错误使用curl或wget连接网站的怎样忽略SSL证书错误

忽略 wget 的 SSL 证书错误

如果某个指定的网站配置错误或证书过期,而使用 wget 命令下载该网站中的文件时,也会出现 SSL 证书错误:

$ wget https://expired.badssl.com
--2022-11-17 14:35:55--  https://expired.badssl.com/
Resolving expired.badssl.com (expired.badssl.com)... 104.154.89.105
Connecting to expired.badssl.com (expired.badssl.com)|104.154.89.105|:443... connected.
ERROR: cannot verify expired.badssl.com's certificate, issued by ‘CN=COMODO RSA Domain Validation Secure Server CA,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB’:
  Issued certificate has expired.
To connect to expired.badssl.com insecurely, use `--no-check-certificate'.

默认情况下,wget会检查有效的SSL证书,以便您可以建立可靠的连接,如果没有,则会抛出一个错误,表示颁发的证书已过期。
要忽略 ssl 错误,可以使用 --no-check-certificate 选项,让它不检查 ssl 证书:

$ wget --no-check-certificate https://expired.badssl.com
--2022-11-17 15:18:07--  https://expired.badssl.com/
Resolving expired.badssl.com (expired.badssl.com)... 104.154.89.105
Connecting to expired.badssl.com (expired.badssl.com)|104.154.89.105|:443... connected.
WARNING: cannot verify expired.badssl.com's certificate, issued by ‘CN=COMODO RSA Domain Validation Secure Server CA,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB’:
  Issued certificate has expired.
HTTP request sent, awaiting response... 200 OK
Length: 494 [text/html]
Saving to: ‘index.html.1’

index.html.1        100%[===================>]     494  --.-KB/s    in 0s      

2022-11-17 15:18:08 (209 MB/s) - ‘index.html.1’ saved [494/494]
跳过认证检查

要在每次访问损坏的 SSL 站点的时候跳过证书检查,只需要在 wget 配置文件中添加 check-certificate = off 即可,这样在访问的时候就可以不添加 --no-check-certificate 选项了:

$ wget https://expired.badssl.com
--2022-11-17 15:41:50--  https://expired.badssl.com/
Resolving expired.badssl.com (expired.badssl.com)... 104.154.89.105
Connecting to expired.badssl.com (expired.badssl.com)|104.154.89.105|:443... connected.
WARNING: cannot verify expired.badssl.com's certificate, issued by ‘CN=COMODO RSA Domain Validation Secure Server CA,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB’:
  Issued certificate has expired.
HTTP request sent, awaiting response... 200 OK
Length: 494 [text/html]
Saving to: ‘index.html.2’

index.html.2        100%[===================>]     494  --.-KB/s    in 0s      

2022-11-17 15:41:51 (191 MB/s) - ‘index.html.2’ saved [494/494]


相关文章

Linux whereis 基础命令

Linux whereis 基础命令

这篇文章里,我们会通过一些便于理解的例子来解释这一命令的基础内容。但在这之前,值得说明的一点是,下面出现的所有例子都在 Ubuntu 16.04 LTS 下测试过。Linux whereis...

Composer简明教程

Composer简明教程</>复制代码 Composer是PHP的一个依赖管理工具。  使用和安装Composer,请确保已正确安装PHP(版本5.3.2+),并且设置了PHP的...

ChatGPT一周年,你错过了多少革命性时刻?一图总结2023生成式AI里程碑大事件时间线

ChatGPT一周年,你错过了多少革命性时刻?一图总结2023生成式AI里程碑大事件时间线

2022 年 11 月 30 日,OpenAI 宣布正式推出 ChatGPT。365 天过去,斗转星移,我们一起见证了生成式 AI 的寒武纪大爆发。Generated by DALL·E3这一年来,国...

教你如何找到正在运行中的进程 ID 并杀死它

教你如何找到正在运行中的进程 ID 并杀死它

你的 Linux 系统中运行的应用可能会让你的电脑变慢,特别是你的电脑配置较低的时候。在 Linux (以及所有其他 OS)中,程序或者应用都携带一个特别的 PID (进程 ID)可供你简单地分辨它们...

VMware中三种网络连接的区别

VMware中三种网络连接的区别

1、概述大家在安装完虚拟机后,默认安装了如下图的两块虚拟网卡——VMnet1和VMnet8,其中VMnet1是host网卡,用于host方式连接网络;VMnet8是NAT网卡,用于NAT方式连接网络的...

apt的update和upgrade区别

apt的update和upgrade区别

一些以前的教程也会提到 sudo apt-get update 和 sudo apt-get upgrade。apt 和 apt-get 命令运行起来几乎一样,除了一些细微的差别,后面我会讨...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。