download.file suggestion: if(OSX){ use curl}
Thanks Simon: that?s good news (if somewhat hidden?) But?. While this works secureURL = "https://dl.dropbox.com/s/pl60zb6cljootdj/test.txt? download.file(secureURL, "junk.txt", method=?curl?) This doesn?t? read.table(secureURL) # Error in file(file, "rt") : cannot open the connection # In addition: Warning message: # In file(file, "rt") : unsupported URL scheme The reason I thought that curl was explicitly not supported was the Rd help for <file> and <url> in ~/bin/R/trunk/src/library/base/man/connections.Rd
url and file support URL schemes http://, ftp:// and file://.
and
Note that \samp{https://} connections are
#ifdef unix
not supported (with some exceptions on Windows).
#endif
file() does not support this option, even if download.file() is told too. If there is a way around this, or file and url can be changed, then I?m happy to submit Rd diffs or other help so people can find this valuable functionality at the read.xxx level. Something like url and file always support the http://, ftp:// and file:// URL schemes, and may support secure connections (https, sftp etc.). #ifdef unix Secure connections (for instance https://) are supported via use of helpers such as curl which can be set via the <download.file.method> option of download.file. #endif With an example of how to do that. Thoughts welcome.
On 7 Jul 2011, at 2:33 PM, Simon Urbanek wrote:
On Jul 4, 2011, at 7:38 AM, Timothy Bates wrote:
Currently download.file() doesn?t handle https (or anything secure) I wonder if the download.file() function could be special cased for platforms that have curl on board and use that?
It already supports curl so why should it special-case anything? If you want to use curl by default (I don't for example) just set the download.file.method option. Cheers, Simon