Ada berbagai method yang bisa direquest oleh curl, misalnya POST dan GET. Cara penggunaan keduanya hampir mirip dan sama-sama bisa digunakan untuk berbagai keperluan, pada implementasinya GET digunakan untuk mengirim data yang kurang sensitif, seperti download gambar, dimana POST digunakan untuk mengirim data yang sensitif, seperti username/password.
curl merupakan standard yang banyak digunakan untuk melakukan koneksi ke HTTP dari command line, curl bisa digunakan diberbagai sistem operasi seperti Linux, Windows, macOS dan *BSD. Cara penggunaan curl
curl https://google.com
dari contoh sederhana tersebut curl akan melakukan request GET ke situs https://google.com, GET adalah metode yang digunakan oleh curl bila kita tidak menyertakan opsi -X POST
dan berbagai varian lainnya.
Cara Menggunakan curl untuk mengirim GET
Kirim GET tanpa data
Cara ini untuk mengirim request GET kosong ke endpoint tertentu
curl -X GET https://DOMAIN.com/api
Kirim GET dengan data
Cara ini digunakan untuk mengakses halaman yang meminta penggunaan username dan password, contoh mengakses Elasticsearch
curl -u elastic:PASSWORD https://DOMAIN.com:9200
Cara Menggunakan curl untuk mengirim POST
Kirim POST tanpa data
Cara ini untuk mengirim request POST kosong ke endpoint tertentu
curl -X POST https://DOMAIN.com/api
Kirim POST dengan data
Cara ini untuk mengirim request POST dengan data ke endpoint tertentu. Contoh kita akan mengirimkan username jaranguda dan password jaranguda. Banyak aplikasi menerima format login seperti ini.
curl -d "username=jaranguda&password=jaranguda" -X POST https://DOMAIN.com/api
Kirim POST JSON
Dengan makin banyaknya backend yang menerima format JSON, kita bisa memanfaatkan curl untuk mengirim data sebagai JSON, yaitu mengirim data dengan Header application/json
curl -H "Content-Type: application/json" -d "username=jaranguda&password=jaranguda" -X POST https://DOMAIN.com/api
File JSON dari file local
curl juga support mengupload file JSON dari lokal komputer anda.
curl -H "Content-Type: application/json" -T /home/jaranguda/file.json -X POST https://DOMAIN.com/api