Home | History | Annotate | Download | only in opts
 **************************************************************************
* _ _ ____ _
* 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)"