diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDS.3 b/docs/libcurl/opts/CURLOPT_POSTFIELDS.3 index f9f9eadc8..17ec2d76f 100644 --- a/docs/libcurl/opts/CURLOPT_POSTFIELDS.3 +++ b/docs/libcurl/opts/CURLOPT_POSTFIELDS.3 @@ -42,16 +42,15 @@ This POST is a normal application/x-www-form-urlencoded kind (and libcurl will set that Content-Type by default when this option is used), which is commonly used by HTML forms. Change Content-Type with \fICURLOPT_HTTPHEADER(3)\fP. -Using \fICURLOPT_POSTFIELDS(3)\fP implies \fICURLOPT_POST(3)\fP. - You can use \fIcurl_easy_escape(3)\fP to url-encode your data, if necessary. It returns a pointer to an encoded string that can be passed as \fIpostdata\fP. -If you want to do a zero-byte POST, you need to set -\fICURLOPT_POSTFIELDSIZE(3)\fP explicitly to zero, as simply setting -\fICURLOPT_POSTFIELDS(3)\fP to NULL or "" just effectively disables the -sending of the specified string. libcurl will instead assume that you'll send -the POST data using the read callback! +Using \fICURLOPT_POSTFIELDS(3)\fP implies \fICURLOPT_POST(3)\fP. + +If \fICURLOPT_POSTFIELDS(3)\fP is explicitly set to NULL then libcurl will get +the POST data from the read callback. If you want to send a zero-byte POST set +\fICURLOPT_POSTFIELDS(3)\fP to an empty string, or set \fICURLOPT_POST(3)\fP to +1 and \fICURLOPT_POSTFIELDSIZE(3)\fP to 0. Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with \fICURLOPT_HTTPHEADER(3)\fP as usual.