************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel (at] haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ************************************************************************** CURLOPT_HTTPPOST 3 "September 02, 2017" "libcurl 7.64.1" "curl_easy_setopt options"
NAME
CURLOPT_HTTPPOST - specify the multipart formpost content
SYNOPSIS
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPPOST,
struct curl_httppost *formpost);
DESCRIPTION
Tells libcurl you want a multipart/formdata HTTP POST to be made and you
instruct what data to pass on to the server in the formpost argument.
Pass a pointer to a linked list of curl_httppost structs as parameter. The
easiest way to create such a list, is to use curl_formadd(3) as
documented. The data in this list must remain intact as long as the curl
transfer is alive and is using it.
Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header.
You can disable this header with CURLOPT_HTTPHEADER(3).
When setting CURLOPT_HTTPPOST(3), it will automatically set
CURLOPT_NOBODY(3) to 0.
This option is deprecated! Do not use it. Use CURLOPT_MIMEPOST(3)
instead after having prepared mime data.
DEFAULT
NULL
PROTOCOLS
HTTP
EXAMPLE
/* Fill in the file upload field. This makes libcurl load data from
the given file name when curl_easy_perform() is called. */
curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME, "sendfile",
CURLFORM_FILE, "postit2.c",
CURLFORM_END);
/* Fill in the filename field */
curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME, "filename",
CURLFORM_COPYCONTENTS, "postit2.c",
CURLFORM_END);
/* Fill in the submit field too, even if this is rarely needed */
curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME, "submit",
CURLFORM_COPYCONTENTS, "send",
CURLFORM_END);
AVAILABILITY
As long as HTTP is enabled. Deprecated in 7.56.0.
RETURN VALUE
Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not.
"SEE ALSO"
CURLOPT_POSTFIELDS "(3), " CURLOPT_POST "(3), " CURLOPT_MIMEPOST "(3)," curl_formadd "(3), " curl_formfree "(3), " curl_mime_init "(3)"