Curl Command: Pengertian dan Penggunaannya

Cara Menggunakan Curl Command
Sesuai namanya, Curl command terdiri dari beberapa perintah. Di bawah ini, Anda akan belajar perintah-perintah Curl yang wajib diketahui. Nah, untuk memulai, masuklah ke akun VPS hosting Anda melalui SSH.

Cara Cek Versi Curl
Untuk memeriksa versi Curl yang Anda gunakan, masukkan perintah berikut:

curl –version
Output yang akan Anda dapatkan menunjukkan versi Curl dan protokol apa saja yang didukung.

Syntax Dasar Curl
Pada bagian ini, Anda akan belajar tentang penggunaan Curl command. Berikut ini adalah syntax dasar yang digunakan dalam Curl:

curl [OPTIONS] [URL]
Kegunaan Curl yang paling mendasar adalah untuk menampilkan konten sebuah halaman. Sebagai contoh, command di bawah ini akan memperlihatkan halaman utama situs websiteku.com:

curl websiteku.com
Curl bekerja secara spesifik. Jika Anda tidak menetapkan protokol yang digunakan untuk command di atas, Curl akan menganggapnya sebagai HTTP.

Curl Command untuk Download File
Anda bisa menggunakan command ini untuk mengunduh file secara remote. Namun, perlu diingat bahwa ada dua perintah yang memberikan hasil berbeda:

Command -O akan mempertahankan nama file yang diunduh dan menyimpannya pada direktori yang sedang dibuka
Command -o mempersilahkan Anda untuk menentukan nama file yang diunduh dan direktori penyimpanannya
Perhatikan contoh berikut agar dapat memahami penjelasan di atas:

curl -O http://websiteku.com/testfile.tar.gz
Dengan perintah tersebut, file yang diunduh akan bernama testfile.tar.gz. Sekarang cek command berikut:

curl -o newtestfile.tar.gz http://websiteku.com/testfile.tar.gz
Hasilnya, nama file yang diunduh akan berubah menjadi newtestfile.tar.gz.

Curl juga bisa digunakan untuk melanjutkan proses mengunduh yang terinterupsi. Berikut adalah command yang diperlukan:

curl -C – -o http://websiteku.com/testfile.tar.gz
Di samping itu, perintah ini juga berfungsi untuk mengunduh beberapa file sekaligus, seperti pada contoh di bawah ini:

curl -o http://websiteku.com/testfile.tar.gz -o http://domainku.com/myfile.tar.gz
Apabila ingin mengunduh lebih dari satu file dari banyak URL, Anda harus menyebutkan semuanya dalam satu file. Curl command dapat dikombinasikan xargs untuk melakukan tugas tersebut.

Misalnya, Anda telah menulis semua URL yang ingin diunduh dalam file allurls.txt. Command di bawah ini akan men-download semua file dari URL yang disebutkan:

xargs -n 1 curl -o < allurls.txt

Curl Command untuk HTTP
Curl bisa digunakan pada server proxy. Jika berada dalam sebuah server proxy dan menggunakan port 8090 pada sampleproxy.com, Anda dapat mengunduh file-filenya dengan command di bawah:

curl -x sampleproxy.com:8090 -U username:password -O http://websiteku.com/testfile .tar.gz
Anda bisa mengesampingkan -U username:password pada kasus di atas jika proxy tidak mengharuskan metode autentikasi.

Pada umumnya, request HTTP memiliki sebuah header. Header tersebut mengirimkan informasi mengenai server web remote yang Anda akses beserta request yang sebenarnya. Dengan command ini, Anda dapat memeriksa informasi dari header tersebut. Demikian caranya:

curl -I www.websiteku.com
Selain itu, command ini juga memungkinkan Anda untuk membuat request GET dan POST. Berikut adalah contoh request GET:

curl http://mydomain.com
Sedangkan contoh command untuk membuat request POST seperti demikian:

curl -data “text=Hello” https://mydomain.com/firstpage.jsp
text=Hello adalah parameter request POST, yang serupa dengan form HTML.

Di samping itu, Anda dapat menentukan berbagai metode HTTP sekaligus dalam satu Curl command. Caranya dengan menggunakan -next seperti pada contoh berikut:

curl -data “text=Hello” https://mydomain.com/firstpage.jsp –next https://mydomain.com/displayresult.jsp
Command di atas berisi request POST dan diikuti oleh request GET.

Setiap request HTTP memiliki sebuah user agent yang menunjukkan informasi browser internet pengguna. Di lain sisi, request Curl berisi Curl dan nomor versi yang ditunjukkan oleh user agent. Untuk membuat request Curl, masukkan command berikut:

“GET / HTTP/1.1” 200 “_” “curl/7/29/0”
Namun, Anda bisa mengganti informasi dalam user agent dengan command ini:

curl -I http://mydomain.com –user-agent “My new Browser”
Sekarang output dari command sebelumnya akan menjadi demikian:

“GET / HTTP/1.1” 200 “_” “My new Browser”

Curl Command untuk Cookies
Curl command juga bisa digunakan untuk memeriksa cookies apa saja yang diunduh pada sebuah URL. Apabila Anda mengakses https://www.websiteku.com, Anda dapat menyimpan cookies-nya dan mengaksesnya dengan cat atau VM editor.

Berikut adalah contoh command yang digunakan untuk kebutuhan tersebut:

curl –cookie-jar Mycookies.txt https://www.contohsitus.com /index.html -O
Jika Anda menyimpan beberapa cookies dalam suatu file, Anda juga bisa mengirimnya ke suatu website. Command-nya seperti berikut:

curl –cookie Mycookies.txt https://www.contohsitus.com

Curl Command untuk FTP
Seperti yang telah disebutkan di awal artikel, Curl command dapat digunakan pada koneksi FTP untuk mengelola file secara remote. Di bawah ini adalah contoh command untuk mengunduh file:

curl -u username:password -O ftp://sampleftpserver/testfile.tar.gz
Pada command tersebut, ftp://sampleftpserver adalah server FTP yang menerima koneksi. Jika menghendaki koneksi anonim, Anda tidak perlu memasukkan username:password.

Selain itu, Anda bisa menggunakan Curl command untuk upload file dengan koneksi FTP. Berikut adalah command-nya:

curl -u username:password -T testfile.tar.gz ftp://sampleftpserver

Membatasi Output Curl
Tidak ada cara untuk mengetahui berapa bandwidth yang termakan oleh output Curl. Oleh karena itu, Anda bisa membatasi penggunaannya. Command di bawah ini akan membatasi bandwidth Anda pada 100K:

curl –limit-rate 100K http://websiteku.com/samplefile.tar.gz -O