Learn R Programming

RCurl (version 1.98-1.16)

curlEscape: Handle characters in URL that need to be escaped

Description

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.

Usage

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

Value

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

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.

Author

Duncan Temple Lang

Details

This calls curl_escape or curl_unescape in the libcurl library.

References

Curl homepage https://curl.se/

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

Examples

Run this code
  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"))

Run the code above in your browser using DataLab