A verbose connection provides much more information about the flow of information between the client and server.
verbose(data_out = TRUE, data_in = FALSE, info = FALSE, ssl = FALSE)
| data_out | Show data sent to the server. |
|---|---|
| data_in | Show data recieved from the server. |
| info | Show informational text from curl. This is mainly useful for debugging https and auth problems, so is disabled by default. |
| ssl | Show even data sent/recieved over SSL connections? |
verbose() uses the following prefixes to distinguish between
different components of the http messages:
* informative curl messages
-> headers sent (out)
>> data sent (out)
*> ssl data sent (out)
<- headers received (in)
<< data received (in)
<* ssl data received (in)
with_verbose() makes it easier to use verbose mode
even when the requests are buried inside another function call.
Other config: add_headers,
authenticate, config,
set_cookies, timeout,
use_proxy, user_agent
#> Response [http://httpbin.org/] #> Date: 2020-03-11 04:10 #> Status: 200 #> Content-Type: text/html; charset=utf-8 #> Size: 9.59 kB #> <!DOCTYPE html> #> <html lang="en"> #> #> <head> #> <meta charset="UTF-8"> #> <title>httpbin.org</title> #> <link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Sou... #> rel="stylesheet"> #> <link rel="stylesheet" type="text/css" href="/flasgger_static/swagger-ui.... #> <link rel="icon" type="image/png" href="/static/favicon.ico" sizes="64x64... #> ...#> Response [http://httpbin.org/] #> Date: 2020-03-11 04:10 #> Status: 502 #> Content-Type: text/html #> Size: 138 B #> <html> #> <head><title>502 Bad Gateway</title></head> #> <body bgcolor="white"> #> <center><h1>502 Bad Gateway</h1></center> #> </body> #> </html>#> Response [http://httpbin.org/] #> Date: 2020-03-11 04:10 #> Status: 200 #> Content-Type: text/html; charset=utf-8 #> Size: 9.59 kB #> <!DOCTYPE html> #> <html lang="en"> #> #> <head> #> <meta charset="UTF-8"> #> <title>httpbin.org</title> #> <link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Sou... #> rel="stylesheet"> #> <link rel="stylesheet" type="text/css" href="/flasgger_static/swagger-ui.... #> <link rel="icon" type="image/png" href="/static/favicon.ico" sizes="64x64... #> ...#> Response [http://httpbin.org/] #> Date: 2020-03-11 04:10 #> Status: 200 #> Content-Type: text/html; charset=utf-8 #> Size: 9.59 kB #> <!DOCTYPE html> #> <html lang="en"> #> #> <head> #> <meta charset="UTF-8"> #> <title>httpbin.org</title> #> <link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Sou... #> rel="stylesheet"> #> <link rel="stylesheet" type="text/css" href="/flasgger_static/swagger-ui.... #> <link rel="icon" type="image/png" href="/static/favicon.ico" sizes="64x64... #> ...# verbose() makes it easy to see exactly what POST requests send POST_verbose <- function(body, ...) { POST("https://httpbin.org/post", body = body, verbose(), ...) invisible() } POST_verbose(list(x = "a", y = "b"))#>#>POST_verbose(FALSE) POST_verbose(NULL) POST_verbose("") POST_verbose("xyz")#>