使用Wget忽略SSL证书错误

fro*_*die 5 coldfusion ssl curl wget

我的Coldfusion代码中有以下代码可以正常工作:

<cfexecute name="curl" arguments = "https://myPath/myFile.xlsx -k" timeout="10" variable="test" />
<cfdump var="#test#" />
Run Code Online (Sandbox Code Playgroud)

这将使用cURL从指定的路径下载Excel文件并将其转储到浏览器,效果很好。

但是,我无法使用Wget进行相同的操作。

首先,我尝试了:

<cfexecute name="wget" arguments = "https://myPath/myFile.xlsx" timeout="10" variable="test" />
<cfdump var="#test#" />
Run Code Online (Sandbox Code Playgroud)

这将返回一个空字符串。似乎我们需要为Wget使用等效于cURL的“ -k”,以告诉它忽略SSL证书错误。所以我尝试了:

<cfexecute name="wget" arguments = "--no-check-certificate https://myPath/myFile.xlsx" timeout="10" variable="test" />
<cfdump var="#test#" />
Run Code Online (Sandbox Code Playgroud)

这给了我以下结果:

Usage: wget [OPTION]... [URL]... Try `wget --help' for more options. 
Run Code Online (Sandbox Code Playgroud)

如何在cfexecute中使用Wget下载Excel文件,而忽略SSL证书错误?

编辑:

wget --no-check-certificate "https://myPath/myFile.xlsx"直接从命令行运行即可。

小智 69

请 使用wget例如--no-check-certificate

wget --no-check-certificate "https://myPath/myFile.xlsx"
Run Code Online (Sandbox Code Playgroud)

应该管用。


And*_*ers 4

来自 wget 手册页 ( http://linux.die.net/man/1/wget )

\n\n

" HTTPS\xc2\xa0(\xc2\xa0SSL/TLS\xc2\xa0) 选项

\n\n

为了支持加密的\xc2\xa0HTTP\xc2\xa0(\xc2\xa0HTTPS\xc2\xa0)下载,Wget必须使用外部\xc2\xa0SSL\xc2\xa0库(当前是OpenSSL)进行编译。如果 Wget 是在没有 \xc2\xa0SSL\xc2\xa0support 的情况下编译的,则这些选项都不可用。”

\n\n

您可能需要检查您使用的 wget 版本是否支持 SSL。

\n\n

cfhttp 可以满足您的需要吗?

\n\n

https://wikidocs.adobe.com/wiki/display/coldfusionen/cfhttp

\n\n

如果您使用自签名证书,则可以将其添加到 JVM 的密钥存储中以避免证书错误。

\n