OpenSuSE Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
x SuSE Linux 13.1-RELEASE x
x SuSE Linux 13.1-RELEASEx
CURLOPT_MIME_OPTIONS(3)             libcurl            CURLOPT_MIME_OPTIONS(3)

NAME
       CURLOPT_MIME_OPTIONS - set MIME option flags

SYNOPSIS
       #include <curl/curl.h>

       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MIME_OPTIONS, long options);

DESCRIPTION
       Pass  a long that holds a bitmask of CURLMIMEOPT_* defines. Each bit is
       a Boolean flag used while encoding a MIME tree or multipart form data.

       Available bits are:

       CURLMIMEOPT_FORMESCAPE
              Tells libcurl to escape multipart  form  field  and  file  names
              using  the  backslash-escaping  algorithm  rather  than percent-
              encoding (HTTP only).

              Backslash-escaping consists in preceding backslashes and  double
              quotes  with  a backslash. Percent encoding maps all occurrences
              of double quote, carriage return and line feed to %22,  %0D  and
              %0A respectively.

              Before version 7.81.0, percent-encoding was never applied.

              HTTP browsers used to do backslash-escaping in the past but have
              over time transitioned  to  use  percent-encoding.  This  option
              allows one to address server-side applications that have not yet
              have been converted.

              As an example, consider field or  file  name  strange\name"kind.
              When  the  containing  multipart  form is sent, this is normally
              transmitted as strange\name%22kind. When this option is set,  it
              is sent as strange\\name\"kind.

DEFAULT
       0, meaning disabled.

PROTOCOLS
       HTTP, IMAP, SMTP

EXAMPLE
       CURL *curl = curl_easy_init();
       curl_mime *form = NULL;

       if(curl) {
         curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
         curl_easy_setopt(curl, CURLOPT_MIME_OPTIONS, CURLMIMEOPT_FORMESCAPE);

         form = curl_mime_init(curl);
         if(form) {
           curl_mimepart *part = curl_mime_addpart(form);

           if(part) {
             curl_mime_filedata(part, "strange\\file\\name");
             curl_mime_name(part, "strange\"field\"name");
             curl_easy_setopt(curl, CURLOPT_MIMEPOST, form);

             /* Perform the request */
             curl_easy_perform(curl);
           }
         }

         curl_easy_cleanup(curl);
         curl_mime_free(mime);
       }

AVAILABILITY
       Option added in 7.81.0.

RETURN VALUE
       Returns CURLE_OK

SEE ALSO
       CURLOPT_HTTPPOST(3), CURLOPT_MIMEPOST(3)

ibcurl 8.4.0                  September 26, 2023       CURLOPT_MIME_OPTIONS(3)

Want to link to this manual page? Use this URL:
<
http://star2.abcm.com/cgi-bin/bsdi-man?query=CURLOPT_MIME_OPTIONS&sektion=3&manpath=>

home | help