Update to 7.44.0
[platform/upstream/curl.git] / docs / libcurl / opts / CURLOPT_HTTPPOST.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2  "http://www.w3.org/TR/html4/loose.dtd">
3 <html><head>
4 <title>CURLOPT_HTTPPOST man page</title>
5 <meta name="generator" content="roffit">
6 <STYLE type="text/css">
7 pre {
8   overflow: auto;
9   margin: 0;
10 }
11
12 P.level0, pre.level0 {
13  padding-left: 2em;
14 }
15
16 P.level1, pre.level1 {
17  padding-left: 4em;
18 }
19
20 P.level2, pre.level2 {
21  padding-left: 6em;
22 }
23
24 span.emphasis {
25  font-style: italic;
26 }
27
28 span.bold {
29  font-weight: bold;
30 }
31
32 span.manpage {
33  font-weight: bold;
34 }
35
36 h2.nroffsh {
37  background-color: #e0e0e0;
38 }
39
40 span.nroffip {
41  font-weight: bold;
42  font-size: 120%;
43  font-family: monospace;
44 }
45
46 p.roffit {
47  text-align: center;
48  font-size: 80%;
49 }
50 </STYLE>
51 </head><body>
52
53 <p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
54 <p class="level0">CURLOPT_HTTPPOST - specify the multipart formpost content <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
55 <p class="level0"><pre class="level0">
56 &#35;include &lt;curl/curl.h&gt;
57 &nbsp;
58 CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPPOST,
59 &nbsp;                         struct curl_httppost *formpost);
60 </pre>
61 <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
62 <p class="level0">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 <span Class="emphasis">formpost</span> 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 <span Class="emphasis">curl_formadd(3)</span> as documented. The data in this list must remain intact until you close this curl handle again with <span Class="emphasis">curl_easy_cleanup(3)</span>. 
63 <p class="level0">Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with <a Class="emphasis" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a>. 
64 <p class="level0">When setting <a Class="emphasis" href="./CURLOPT_HTTPPOST.html">CURLOPT_HTTPPOST</a>, it will automatically set <a Class="emphasis" href="./CURLOPT_NOBODY.html">CURLOPT_NOBODY</a> to 0. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
65 <p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
66 <p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
67 <p class="level0"><pre class="level0">
68 /* Fill in the file upload field. This makes libcurl load data from
69 &nbsp;  the given file name when curl_easy_perform() is called. */
70 curl_formadd(&formpost,
71 &nbsp;            &lastptr,
72 &nbsp;            CURLFORM_COPYNAME, "sendfile",
73 &nbsp;            CURLFORM_FILE, "postit2.c",
74 &nbsp;            CURLFORM_END);
75 &nbsp;
76 /* Fill in the filename field */
77 curl_formadd(&formpost,
78 &nbsp;            &lastptr,
79 &nbsp;            CURLFORM_COPYNAME, "filename",
80 &nbsp;            CURLFORM_COPYCONTENTS, "postit2.c",
81 &nbsp;            CURLFORM_END);
82 &nbsp;
83 /* Fill in the submit field too, even if this is rarely needed */
84 curl_formadd(&formpost,
85 &nbsp;            &lastptr,
86 &nbsp;            CURLFORM_COPYNAME, "submit",
87 &nbsp;            CURLFORM_COPYCONTENTS, "send",
88 &nbsp;            CURLFORM_END);
89 </pre>
90
91 <p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
92 <p class="level0">As long as HTTP is enabled <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
93 <p class="level0">Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
94 <p class="level0"><a Class="manpage" href="./CURLOPT_POSTFIELDS.html">CURLOPT_POSTFIELDS</a>, <a Class="manpage" href="./CURLOPT_POST.html">CURLOPT_POST</a>, <span Class="manpage"> </span> <p class="roffit">
95  This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
96 </body></html>