aboutsummaryrefslogtreecommitdiff
path: root/docs/cmdline-opts/data.d
blob: 353b41f21ee65c281a3ef13636908c04dd35b41b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Long: data
Short: d
Arg: <data>
Help: HTTP POST data
Protocols: HTTP
See-also: data-binary data-urlencode data-raw
Mutexed: form head upload
---
Sends the specified data in a POST request to the HTTP server, in the same way
that a browser does when a user has filled in an HTML form and presses the
submit button. This will cause curl to pass the data to the server using the
content-type application/x-www-form-urlencoded.  Compare to --form.

--data-raw is almost the same but does not have a special interpretation of
the @ character. To post data purely binary, you should instead use the
--data-binary option.  To URL-encode the value of a form field you may use
--data-urlencode.

If any of these options is used more than once on the same command line, the
data pieces specified will be merged together with a separating
&-symbol. Thus, using '-d name=daniel -d skill=lousy' would generate a post
chunk that looks like \&'name=daniel&skill=lousy'.

If you start the data with the letter @, the rest should be a file name to
read the data from, or - if you want curl to read the data from
stdin. Multiple files can also be specified. Posting data from a file named
'foobar' would thus be done with \fI--data\fP @foobar. When --data is told to
read from a file like that, carriage returns and newlines will be stripped
out. If you don't want the @ character to have a special interpretation use
--data-raw instead.