Learn R Programming

crul (version 0.2.0)

HttpClient: HTTP client

Description

HTTP client

Arguments

url
(character) A url. One of url or handle required.
opts
(list) curl options
handle
A handle

Details

Methods

Possible parameters (not all are allowed in each HTTP verb):

  • path - URL path, appended to the base URL
  • query - query terms, as a list
  • body - body as an R list
  • encode - one of form, multipart, json, or raw
  • disk - a path to write to. if NULL (default), memory used
  • stream - an R function to determine how to stream data. if NULL (default), memory used
  • ... curl options, only those in the acceptable set from curl_options except the following: httpget, httppost, post, postfields, postfieldsize, and customrequest

See Also

post-requests, http-headers, writing-options

Examples

Run this code
(x <- HttpClient$new(url = "https://httpbin.org"))
x$url
(res_get1 <- x$get('get'))
res_get1$content
res_get1$response_headers
res_get1$parse()

(res_get2 <- x$get('get', query = list(hello = "world")))
res_get2$parse()
library("jsonlite")
jsonlite::fromJSON(res_get2$parse())

# post request
(res_post <- x$post('post', body = list(hello = "world")))

## empty body request
x$post('post')

# put request
(res_put <- x$put('put'))

# delete request
(res_delete <- x$delete('delete'))

# patch request
(res_patch <- x$patch('patch'))

# head request
(res_head <- x$head())

# query params are URL encoded for you, so DO NOT do it yourself
## if you url encode yourself, it gets double encoded, and that's bad
(x <- HttpClient$new(url = "https://httpbin.org"))
res <- x$get("get", query = list(a = 'hello world'), verbose = TRUE)

Run the code above in your browser using DataLab