curlEscape function

Handle characters in URL that need to be escaped

Handle characters in URL that need to be escaped

These functions convert between URLs that are human-readable and those that have special characters escaped. For example, to send a URL with a space, we need to represent the space as %20.

curlPercentEncode uses a different format than the curlEscape

function and this is needed for x-www-form-encoded POST submissions.

curlEscape(urls) curlUnescape(urls) curlPercentEncode(x, amp = TRUE, codes = PercentCodes, post.amp = FALSE)

Arguments

  • urls: a character vector giving the strings to be escaped or unescaped.
  • x: the strings to be encoded via the percent-encoding method
  • amp: a logical value indicating whether to encode & characters.
  • codes: the named character vector giving the encoding map. The names are the characters we encode, the values are what we encode them as.
  • post.amp: a logical value controlling whether the resulting string is further processed to escape the percent (%) prefixes with the code for percent, i.e. %25.

Details

This calls curl_escape or curl_unescape in the libcurl library.

Returns

A character vector that has corresponding elements to the input with the characters escaped or not.

References

Curl homepage https://curl.se/

Percent encoding explained in https://en.wikipedia.org/wiki/Percent-encoding

Author(s)

Duncan Temple Lang

Examples

curlEscape("http://www.abc.com?x=a is a sentence&a b=and another") # Reverse it should get back original curlUnescape(curlEscape("http://www.abc.com?x=a is a sentence&a b=and another"))
  • Maintainer: CRAN Team
  • License: BSD_3_clause + file LICENSE
  • Last published: 2025-03-22

Useful links