Dengan bidang:
curl --data "param1=value1¶m2=value2" https://example.com/resource.cgi
Dengan bidang yang ditentukan secara individual:
curl --data "param1=value1" --data "param2=value2" https://example.com/resource.cgi
Multipart:
curl --form "[email protected]" https://example.com/resource.cgi
Multipart dengan bidang dan nama file:
curl --form "[email protected];filename=desired-filename.txt" --form param1=value1 --form param2=value2 https://example.com/resource.cgi
Tanpa data:
curl --data '' https://example.com/resource.cgi
curl -X POST https://example.com/resource.cgi
curl --request POST https://example.com/resource.cgi
Untuk informasi lebih lanjut, lihat cURL manual. The cURL tutorial meniru sebuah peramban web adalah membantu.
Dengan libcurl, gunakan curl_formadd()
fungsi untuk membangun formulir anda sebelum mengirimkan itu dengan cara yang biasa. Lihat libcurl dokumentasi untuk informasi lebih lanjut.
Untuk file besar, pertimbangkan untuk menambahkan parameter untuk menunjukkan kemajuan upload:
curl --tr-encoding -X POST -v -# -o output -T filename.dat \
http://example.com/resource.cgi
The -o output
diperlukan, jika tidak ada progress bar akan muncul.
Untuk Tenang HTTP POST yang berisi XML:
curl -X POST -d @filename.txt http://example.com/path/to/resource --header "Content-Type:text/xml"
atau untuk JSON, gunakan ini:
curl -X POST -d @filename.txt http://example.com/path/to/resource --header "Content-Type:application/json"
Ini akan membaca isi dari file yang bernama filename.txt
dan mengirimkannya sebagai permintaan post.
Data dari stdin dengan -d @-
Contoh:
echo '{"text": "Hello **world**!"}' | curl -d @- https://api.github.com/markdown
Output:
<p>Hello <strong>world</strong>!</p>
curl -d "name=Rafael%20Sagula&phone=3320780" http://www.where.com/guest.cgi
adalah contoh yang ditemukan dalam Curl Contoh Manual.
Menggunakan %26 untuk ampersands meskipun jika di atas doesn't bekerja:
curl -d "name=Rafael%20Sagula%26phone=3320780" http://www.where.com/guest.cgi
Jika anda ingin login ke situs, lakukan hal berikut:
curl -d "username=admin&password=admin&submit=Login" --dump-header headers http://localhost/Login
curl -L -b headers http://localhost/
Permintaan pertama menyimpan cookie sesi (yang disediakan setelah berhasil login) di "judul" berkas. Mulai sekarang anda dapat menggunakan cookie untuk mengotentikasi anda untuk setiap bagian dari situs web yang anda akses setelah login dengan browser.
curl -v --data-ascii var=value http://example.com
dan ada lebih banyak pilihan, centang curl --help
untuk informasi lebih lanjut.
Jika anda malas, anda bisa mendapatkan google chrome untuk melakukan semua pekerjaan untuk anda.
Chrome akan menyalin semua data permintaan di cURL sintaks.
Chrome menggunakan --data 'param1=halo¶m2=world'
mana anda dapat membuat lebih mudah dibaca dengan menggunakan single -d
atau -F
per parameter tergantung pada jenis permintaan POST yang ingin anda kirim, yang dapat berupa application/x-www-form-urlencoded
atau multipart/form-data
yang sesuai.
Ini akan menjadi POST-ed sebagai application/x-www-form-urlencoded
(digunakan untuk sebagian besar dari bentuk-bentuk yang don't berisi file upload):
curl http://httpbin.org/post \
-H "User-Agent: Mozilla/2.2" \
-d param1=hello \
-d name=dinsdale
Untuk multipart/form-data
POST menggunakan -F
(biasanya digunakan dengan bentuk-bentuk yang mengandung upload file, atau di mana urutan bidang penting, atau di mana beberapa bidang dengan nama yang sama yang diperlukan):
curl http://httpbin.org/post \
-H "User-Agent: Mozilla/2.2" \
-F param1=hello \
-F name=dinsdale \
-F name=piranha
User-Agent
header biasanya tidak diperlukan, tetapi aku've dilemparkan itu hanya dalam kasus. Anda dapat menghindari untuk mengatur user agent pada setiap permintaan dengan membuat ~/.curlrc
file yang berisi misal User-Agent: "Mozilla/2.2"