Ping {Ecfun} | R Documentation |
ping a Uniform resource locator (URL)
Description
***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.
Usage
Ping(url, pingArgs='', warn=NA,
show.output.on.console=FALSE)
Arguments
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 |
Details
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, ...)
Value
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 |
Author(s)
Spencer Graves
See Also
Examples
##
## 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)