1 Long: data 2 Short: d 3 Arg: <data> 4 Help: HTTP POST data 5 Protocols: HTTP MQTT 6 See-also: data-binary data-urlencode data-raw 7 Mutexed: form head upload-file 8 Category: important http post upload 9 --- 10 Sends the specified data in a POST request to the HTTP server, in the same way 11 that a browser does when a user has filled in an HTML form and presses the 12 submit button. This will cause curl to pass the data to the server using the 13 content-type application/x-www-form-urlencoded. Compare to --form. 14 15 --data-raw is almost the same but does not have a special interpretation of 16 the @ character. To post data purely binary, you should instead use the 17 --data-binary option. To URL-encode the value of a form field you may use 18 --data-urlencode. 19 20 If any of these options is used more than once on the same command line, the 21 data pieces specified will be merged together with a separating 22 &-symbol. Thus, using '-d name=daniel -d skill=lousy' would generate a post 23 chunk that looks like \&'name=daniel&skill=lousy'. 24 25 If you start the data with the letter @, the rest should be a file name to 26 read the data from, or - if you want curl to read the data from stdin. Posting 27 data from a file named \&'foobar' would thus be done with --data @foobar. When 28 --data is told to read from a file like that, carriage returns and newlines 29 will be stripped out. If you don't want the @ character to have a special 30 interpretation use --data-raw instead. 31