| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- .\" generated by cd2nroff 0.1 from CURLOPT_MIME_OPTIONS.md
- .TH CURLOPT_MIME_OPTIONS 3 "2025-01-17" libcurl
- .SH NAME
- CURLOPT_MIME_OPTIONS \- set MIME option flags
- .SH SYNOPSIS
- .nf
- #include <curl/curl.h>
- CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MIME_OPTIONS, long options);
- .fi
- .SH 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:
- .IP CURLMIMEOPT_FORMESCAPE
- Tells libcurl to escape multipart form field and filenames 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 filename \fIstrangename"kind\fP. When the
- containing multipart form is sent, this is normally transmitted as
- \fIstrangename%22kind\fP. When this option is set, it is sent as
- \fIstrangename"kind\fP.
- .SH DEFAULT
- 0, meaning disabled.
- .SH PROTOCOLS
- This functionality affects http, imap and smtp
- .SH EXAMPLE
- .nf
- int main(void)
- {
- 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(form);
- }
- }
- .fi
- .SH AVAILABILITY
- Added in curl 7.81.0
- .SH RETURN VALUE
- Returns CURLE_OK
- .SH SEE ALSO
- .BR CURLOPT_HTTPPOST (3),
- .BR CURLOPT_MIMEPOST (3)
|