设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 数据 创业者 手机
当前位置: 首页 > 服务器 > 系统 > 正文

借助curl 或wget连接网站的时候怎样忽略 SSL 证书错误

发布时间:2022-11-23 10:10 所属栏目:52 来源:互联网
导读:当我们使用 curl 命令访问网站的时候,有时候可能会得到一个 SSL 证书错误: 这是因为在默认情况下,cURL 使用 SSL 证书进行连接,如果指定的网站配置错误或证书过期,则会引发错误。 下面我们看一下如何忽略其中的 SSL 证书错误。 使用 cURL 忽略 SSL 证书
  当我们使用 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 --insecure https://expired.badssl.com
  <!DOCTYPE html>
  <html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="shortcut icon" href="/icons/favicon-red.ico"/>
    <link rel="apple-touch-icon" href="/icons/icon-red.png"/>
    <title>expired.badssl.com</title>
    <link rel="stylesheet" href="/style.css">
    <style>body { background: red; }</style>
  </head>
  <body>
  <div id="content">
    <h1 style="font-size: 12vw;">
      expired.<br>badssl.com
    </h1>
  </div>
 
  </body>
  </html>
  
  对所有 SSL 连接都使用 --insecure 选项
 
  注意:除非在隔离或测试环境下可以执行此操作,否则不建议这样做。
 
  你可以使用如下命令将 insecure 添加到 curl 配置文件中:
 
  复制
  echo "insecure" >> ~/.curlrc
  1.
  然后,在不使用 --insecure 选项的情况下,再次直接使用 curl 连接 html地址,也是可以成功的:
 
  复制
  $ curl https://expired.badssl.com
  <!DOCTYPE html>
  <html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="shortcut icon" href="/icons/favicon-red.ico"/>
    <link rel="apple-touch-icon" href="/icons/icon-red.png"/>
    <title>expired.badssl.com</title>
    <link rel="stylesheet" href="/style.css">
    <style>body { background: red; }</style>
  </head>
  <body>
  <div id="content">
    <h1 style="font-size: 12vw;">
      expired.<br>badssl.com
    </h1>
  </div>
 
  </body>
  </html>
  
  忽略 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]

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读