Provided by: libcurl4-doc_7.55.1-1ubuntu2_all bug

NAME

       curl_easy_escape - URL encodes the given string

SYNOPSIS

       #include <curl/curl.h>

       char *curl_easy_escape( CURL *curl, const char *string , int length );

DESCRIPTION

       This  function converts the given input string to a URL encoded string and returns that as
       a new allocated string. All input characters that are not a-z, A-Z, 0-9, '-', '.', '_'  or
       '~'  are converted to their "URL escaped" version (%NN where NN is a two-digit hexadecimal
       number).

       If length is set to 0 (zero), curl_easy_escape(3) uses strlen() on  the  input  string  to
       find out the size.

       You must curl_free(3) the returned string when you're done with it.

ENCODING

       libcurl  is  typically  not  aware  of,  nor  does  it  care  about,  character encodings.
       curl_easy_escape(3) encodes the data byte-by-byte into the  URL  encoded  version  without
       knowledge  or care for what particular character encoding the application or the receiving
       server may assume that the data uses.

       The caller of curl_easy_escape(3) must make sure that the data passed in to  the  function
       is encoded correctly.

AVAILABILITY

       Added in 7.15.4 and replaces the old curl_escape(3) function.

RETURN VALUE

       A pointer to a zero terminated string or NULL if it failed.

EXAMPLE

       CURL *curl = curl_easy_init();
       if(curl) {
         char *output = curl_easy_escape(curl, "data to convert", 15);
         if(output) {
           printf("Encoded: %s\n", output);
           curl_free(output);
         }
       }

SEE ALSO

       curl_easy_unescape(3), curl_free(3), RFC3986