domingo, 30 de julio de 2017

POSTing Form Data with cURL

Start your cURL command with curl -X POST and then add -F for every field=value you want to add to the POST:

curl -X POST -F 'username=davidwalsh' -F 'password=something' http://domain.tld/post-to-me.php
If you were using PHP, you could use print_r on the $_POST variable to see that your server received the POST data as expected:
Array(
  'username' => 'davidwalsh',
  'password' => 'something'
)
If you need to send a specific data type or header with cURL, use -H to add a header:
# -d to send raw data
curl -X POST -H 'Content-Type: application/json' -d '{"username":"davidwalsh","password":"something"}' http://domain.tld/login

POSTing Files with cURL

POSTing a file with cURL is slightly different in that you need to add an @ before the file location, after the field name:
curl -X POST -F 'image=@/path/to/pictures/picture.jpg' http://domain.tld/upload
Using PHP to explore the $_FILES variable array would show file data as though it was uploaded via a form in browser:
Array(
  "image": array(
    "name" => "picture.jpg"
    "type" => "image/jpeg",
    "tmp_name" => "/path/on/server/to/tmp/phprj5rkG",
    "error" => 0,
    "size" => 174476
  )
)
https://davidwalsh.name/curl-post-file

No hay comentarios:

Publicar un comentario