Ignore SSL Certificate Error with Wget

froadie picture froadie · Oct 2, 2014 · Viewed 43.5k times · Source

I have the following code in my coldfusion code that works:

<cfexecute name="curl" arguments = "https://myPath/myFile.xlsx -k" timeout="10" variable="test" />
<cfdump var="#test#" />

This downloads an Excel file from the specified path using cURL and dumps it to the browser, which works fine.

However, I can't get the same thing to work with Wget.

First I tried:

<cfexecute name="wget" arguments = "https://myPath/myFile.xlsx" timeout="10" variable="test" />
<cfdump var="#test#" />

This returns an empty string. It seems we need to use the equivalent of cURL's "-k" for Wget, to tell it to ignore SSL certificate errors. So I tried:

<cfexecute name="wget" arguments = "--no-check-certificate https://myPath/myFile.xlsx" timeout="10" variable="test" />
<cfdump var="#test#" />

This gives me the following results:

Usage: wget [OPTION]... [URL]... Try `wget --help' for more options. 

How can I use Wget within cfexecute to download the excel file, ignoring SSL certificate errors?

EDIT:

Running wget --no-check-certificate "https://myPath/myFile.xlsx" directly from the command line works.

Answer

Andrew Myers picture Andrew Myers · Oct 2, 2014

From the wget man page (http://linux.die.net/man/1/wget)

" HTTPS ( SSL/TLS ) Options

To support encrypted HTTP ( HTTPS ) downloads, Wget must be compiled with an external SSL library, currently OpenSSL. If Wget is compiled without SSL support, none of these options are available."

You might need to check whether the version of wget you are using supports SSL.

Could cfhttp do what you need though?

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

If you're using a self signed certificate you can add it to your JVM's key store to avoid the certificate errors.