ping a Uniform resource locator (URL)
***NOTE: THIS IS A PRELIMINARY VERSION OF THIS FUNCTION; ***NOTE: IT MAY BE CHANGED OR REMOVED IN A FUTURE RELEASE.
ping a Uniform resource locator (URL) or Internet Protocol (IP) address.
NOTE: Some Internet Service Providers (ISPs)
play games with "ping". That makes the results
of Ping
unreliable.
Ping(url, pingArgs='', warn=NA, show.output.on.console=FALSE)
url |
a character string of a URL or IP address to
ping. If |
pingArgs |
arguments to pass to the
|
warn |
value for |
show.output.on.console |
argument for |
1. urlSplit0 <- strsplit(url, '://')[[1]]
2. urlS0 <- urlSplit0[min(2,
length(urlSplit0))]
3. host <- strsplit(urlS0, '/')[[1]][1]
4. pingCmd <- paste('ping', pingArgs,
host)
5. system(pingCmd, intern=TRUE, ...)
list with the following components:
rawResults |
character vector of the raw results from the ping command |
rawNumbers |
numeric vector of the times measured |
counts |
numeric vector of numbers of packets sent, received, and lost |
p.lost |
proportion lost = lost / sent |
stats |
numeric vector of |
Spencer Graves
## ## Some ISPs play games with ping. ## Therefore, the results are not reliable. ## ## Not run: ## ## good ## (google <- Ping('https://google.com/ping works on host not pages')) \dontshow{stopifnot(} with(google, (counts[1]>0) && (counts[3]<1)) \dontshow{)} ## ## ping oops <<-- at one time, this failed. ## However, with some ISPs, it works, so don't test it. ## ## (couldnotfindhost <- Ping('oops')) \dontshow{stopifnot(} with(couldnotfindhost, length(grep('could not find host', rawResults))>0) \dontshow{)} ## ## impossible, but not so obvious ## (requesttimedout <- Ping('requesttimedout.com')) \dontshow{stopifnot(} with(requesttimedout, (counts[1]>0) && (counts[2]<1) && (counts[3]>0)) \dontshow{)} ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.