How to determine if you have an internet connection in R
A dirty work around would be using RCurl::getURL
function.
if (is.character(getURL("www.google.com"))) {
out <- TRUE
} else {
out <- FALSE
}
The curl
package has a function has_internet
which tests by performing a nslookup
:
curl::has_internet
## function(){
## !is.null(nslookup("google.com", error = FALSE))
## }
Testing DNS is faster and may be more reliable than retrieving a URL because the latter might fail for unrelated reasons (e.g. firewall, server down, etc).