Rev 15860 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
\name{download.file}\alias{download.file}\title{Download File from the Internet}\description{This function can be used to download a file from the Internet.}\usage{download.file(url, destfile, method, quiet = FALSE, mode="w",cacheOK = TRUE)}\arguments{\item{url}{A character string naming the URL of a resource to bedownloaded.}\item{destfile}{A character string with the name where the downloadedfile is saved. Tilde-expansion is performed.}\item{method}{Method to be used for downloading files. Currentlydownload methods \code{"internal"}, \code{"wget"} and \code{"lynx"}are available. The default is to choose the first of these whichis available, on almost all systems \code{"internal"}.}\item{quiet}{If \code{TRUE}, suppress status messages (if any).}\item{mode}{character. The mode with which to write the file. Usefulvalues are \code{"w"}, \code{"wb"} (binary), \code{"a"} (append) and\code{"ab"}. Only used for the \code{"internal"} method.}\item{cacheOK}{logical. Is a server-side cached value acceptable?Implemented for the \code{"internal"} and \code{"wget"} methods.}}\details{The function \code{download.file} can be used to download a singlefile as described by \code{url} from the internet and store it in\code{destfile}.The \code{url} must start with a scheme such as\code{"http://"}, \code{"ftp://"} or \code{"file://"}.\code{cacheOK = FALSE} is useful for \code{"http://"} URLs, and willattempt to get a copy directly from the site rather than from anintermediate cache. (Not all platforms support it.)It is used by \code{\link{CRAN.packages}}.The remaining details apply to method \code{"internal"} only.The timeout for many parts of the transder can be set by the option\code{timeout} which defaults to 60 seconds.The level of detail provided during transfer can be set by the\code{quiet} argument and the \code{internet.info} option. Thedetails depend on the platform and scheme, but setting\code{internet.info} to 0 gives all available details, includingall server responses. Using 2 (the default) gives only seriousmessages, and 3 or more suppresses all messages.#ifdef windowsA progress bar tracks the transfer. If the file length is known, thefull width of the bar is the known length. Otherwise the initialwidth represents 100Kbytes and is doubled whenever the current widthis exceeded.#endifProxies can be specified via environment variables.Setting \code{"no_proxy"} stops any proxy being tried.Otherwise the setting of \code{"http_proxy"} or \code{"ftp_proxy"}(or failing that, the all upper-case version) is consulted and ifnon-empty used as a proxy site. For FTP transfers, the usernameand password on the proxy can be specified by \code{"ftp_proxy_user"}and \code{"ftp_proxy_password"}.#ifdef windowsThere is an alternative method if you have Internet Explorer 4 orlater installed. You can use \code{modules\\internet2.dll} toreplace \code{modules\\internet.dll}, whenthe `Internet Options' of the system are used to choose proxies and soon; these are set in the Control Panel and are those used for InternetExplorer. This version does not support \code{cacheOK = FALSE}.#endif}\note{Methods \code{"wget"} and \code{"lynx"} are for historicalcompatibility. They will block all other activity on the \R process.For methods \code{"wget"} and \code{"lynx"} a system call is made tothe tool given by \code{method}, and the respective program must beinstalled on your system and be in the search path for executables.}\seealso{\code{\link{options}} to set the \code{timeout} and\code{internet.info} options.\code{\link{url}} for a finer-grained way to read data from URLs.\code{\link{url.show}}, \code{\link{CRAN.packages}},\code{\link{download.packages}} for applications}\keyword{utilities}