Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
T
TLMSP curl
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
CYBER - Cyber Security
TS 103 523 MSP
TLMSP
TLMSP curl
Commits
0452fd86
Commit
0452fd86
authored
23 years ago
by
Daniel Stenberg
Browse files
Options
Downloads
Patches
Plain Diff
Georg Huettenegger's updates
parent
613eafaf
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
docs/curl_formadd.3
+22
-15
22 additions, 15 deletions
docs/curl_formadd.3
with
22 additions
and
15 deletions
docs/curl_formadd.3
+
22
−
15
View file @
0452fd86
...
...
@@ -2,7 +2,7 @@
.\" nroff -man [file]
.\" $Id$
.\"
.TH curl_formadd 3 "
19
August 2001" "libcurl 7.9" "libcurl Manual"
.TH curl_formadd 3 "
27
August 2001" "libcurl 7.9" "libcurl Manual"
.SH NAME
curl_formadd - add a section to a multipart/formdata HTTP POST
.SH SYNOPSIS
...
...
@@ -24,21 +24,22 @@ After \fIlastitem\fP follow the real arguments that constitute the
new section (if the following description confuses you jump directly
to the examples):
The first is always CURLFORM_COPYNAME followed by a string used for
the name of the section.
CURLFORM_COPYNAME or CURLFORM_PTRNAME followed by a string is used for
the name of the section. Optionally one may use CURLFORM_NAMELENGTH to
specify the length of the name (allowing null characters within the name).
Afterwards one may use one of three arguments
: CURLFORM_COPYCONTENTS,
CURLFORM_PTRCONTENTS, or CURLFORM_FILE
.
followed by a char or void
The three options for providing values are
: CURLFORM_COPYCONTENTS,
CURLFORM_PTRCONTENTS, or CURLFORM_FILE
,
followed by a char or void
pointer (allowed for PTRCONTENTS).
The next
argument may be CURLFORM_CONTENTTYPE if the
Other
argument
s
may be CURLFORM_CONTENTTYPE if the
user wishes to specify one (for FILE if no type is given the library
tries to provide the correct one; for CONTENTS no Content-Type is sent
in this case)
For CURLFORM_PTRCONTENTS the user may also add
CURLFORM_CONTENTSLENGTH
followed by the length as a long (if not given
the library will use
strlen to determine the length
; for COPYCONTENTS this is always done
).
For CURLFORM_PTRCONTENTS
or CURLFORM_COPYNAME
the user may also add
CURLFORM_CONTENTSLENGTH
followed by the length as a long (if not given
the library will use
strlen to determine the length).
For CURLFORM_FILE the user may send multiple files in one section by
providing multiple CURLFORM_FILE arguments each followed by the filename
...
...
@@ -52,13 +53,13 @@ the function itself. You must call \fIcurl_formfree\fP after the form post has
been done to free the resources again.
This function will copy all input data except the data pointed to by
the argument after CURLFORM_PTRCONTENTS and keep
its own
version of it allocated until you call \fIcurl_formfree\fP. When
the argument
s
after
CURLFORM_PTRNAME and
CURLFORM_PTRCONTENTS and keep
its own
version of it allocated until you call \fIcurl_formfree\fP. When
you've passed the pointer to \fIcurl_easy_setopt\fP, you must not free
the list until after you've called \fIcurl_easy_cleanup\fP for the
curl handle. If you provide a pointer as an argument after
CURLFORM_PTRCONTENTS you must ensure that the pointer
stays valid
until you call \fIcurl_form_free\fP and \fIcurl_easy_cleanup\fP.
curl handle. If you provide a pointer as an argument
s
after
CURLFORM_PTRNAME or
CURLFORM_PTRCONTENTS you must ensure that the pointer
stays valid
until you call \fIcurl_form_free\fP and \fIcurl_easy_cleanup\fP.
See example below.
.SH RETURN VALUE
...
...
@@ -68,6 +69,8 @@ Returns non-zero if an error occurs.
HttpPost* post = NULL;
HttpPost* last = NULL;
char namebuffer[] = "name buffer";
long namelength = strlen(namebuffer);
char buffer[] = "test buffer";
char htmlbuffer[] = "<HTML>test buffer</HTML>";
long htmlbufferlength = strlen(htmlbuffer);
...
...
@@ -84,8 +87,12 @@ Returns non-zero if an error occurs.
CURLFORM_COPYCONTENTS, "<HTML></HTML>",
CURLFORM_CONTENTTYPE, "text/html", CURLFORM_END);
/* Add name/ptrcontent section */
curl_formadd(&post, &
p
ast, CURLFORM_COPYNAME, "name_for_ptrcontent",
curl_formadd(&post, &
l
ast, CURLFORM_COPYNAME, "name_for_ptrcontent",
CURLFORM_PTRCONTENTS, buffer, CURLFORM_END);
/* Add ptrname/ptrcontent section */
curl_formadd(&post, &last, CURLFORM_PTRNAME, namebuffer,
CURLFORM_PTRCONTENTS, buffer, CURLFORM_NAMELENGTH,
namelength, CURLFORM_END);
/* Add name/ptrcontent/contenttype section */
curl_formadd(&post, &last, CURLFORM_COPYNAME, "html_code_with_hole",
CURLFORM_PTRCONTENTS, htmlbuffer,
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment