当我尝试通过 wget 等第三方工具访问本地网站时,Openssl 无法建立 SSL 连接

当我尝试通过 wget 等第三方工具访问本地网站时,Openssl 无法建立 SSL 连接

我想定期通过浏览器监控本地网络上某个网站的索引。我尝试wget通过Windows10

> wget --no-check-certificate --no-hsts --content-on-error --ignore-length --unlink --server-response --show-progress --verbose https://172.*.*.*:*/app

但无法获取页面。结果如下:

--2019-02-02 16:56:01--  https://172.*.*.*:*/app
Connecting to 172.*.*.*:*... connected.
OpenSSL: error:2406F079:random number generator:RAND_load_file:Cannot open file
Unable to establish SSL connection.

我也尝试过其他工具,例如网址观察和 curl。它们都无法访问该页面!有什么办法吗?以下是 urlwatch 给出的错误:

HTTPSConnectionPool(host='172.*.*.*', port=*):
Max retries exceeded with url: /app
(Caused by SSLError(SSLError(1,
'[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:1056)')))

答案1

为什么你不尝试使用 curl 呢?

供您参考地点

这是很常见在某些情况下用 curl 代替 wget。这种情况下,最好还是用 curl 代替。

你可以查看这个简短的例子使用 Windows 10

如果问题仍然存在,您肯定需要将 SSL 更新到最新版本或使用适用于 Windows 10 的 Open SSL 库。为避免安装第三方安装程序的风险,请从获取更多详细信息这里

Git for Windows 安装已经包含您需要的 openssl.exe,您可以从这里。我以前曾使用过此解决方案并且效果很好。

检查一下参考也一样。

答案2

当 Windows 中已经存在第三方工具来下载文件时,就没有理由在 Windows 中使用第三方工具来下载文件,尤其是当该工具不适合 Windows 时。

要下载文件,您可以使用 PowerShell 的方法 调用 Web 请求 或者 客户端.下载文件,以下是一些示例:

    Invoke-WebRequest -Uri 'https://download.sysinternals.com/files/Handle.zip' -OutFile C:\handle.zip
    download.file("https://download.sysinternals.com/files/Handle.zip",destfile="C:\handle.zip")

相关内容