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)
应该管用。
来自 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\ncfhttp 可以满足您的需要吗?
\n\nhttps://wikidocs.adobe.com/wiki/display/coldfusionen/cfhttp
\n\n如果您使用自签名证书,则可以将其添加到 JVM 的密钥存储中以避免证书错误。
\n