Apa Itu Curl Command dan Bagaimana Cara Mengunakannya?
Apa itu Curl command? Curl command adalah command yang tersedia di sebagian besar sistem berbasis Unix. Curl merupakan singkatan dari “Client URL”. Curl command dibuat untuk mengecek konektivitas ke URL dan juga sebagai tool transfer data. Mari kita belajar bagaimana cara menggunakannya.
Curl command mendukung protokol-protokol seperti berikut:
- HTTP dan HTTPS
- FTP dan FTPS
- IMAP dan IMAPS
- POP3 dan POP3S
- SMB dan SMBS
- SFTP
- SCP
- TELNET
- GOPHER
- LDAP dan LDAPS
- SMTP dan SMTPS
Berikut tadi merupakan protokol penting yang didukung oleh Curl. Curl didukung oleh libcurl yang merupakan perpustakaan transfer URL gratis pada client-side.
Cek Versi Curl:
Sebelum bekerja dengan curl, Anda perlu login ke VPS. Jika Anda memerlukan bantuan, silakan tilik artikel yang membahas SSH.
Pertama, mari cek versi Curl yang tersedia dengan command berikut:
curl --version
Output tersebut akan menunjukkan daftar protokol yang didukung oleh versi Curl yang ada. Sekarang, mari kita lihat beberapa contoh Curl command yang lain.
Syntax Curl Command Dasar
Mari pelajari bagaimana cara menggunakan Curl command. Syntax dasar dari Curl akan terlihat seperti berikut:
curl [OPTIONS] [URL]
Kegunaan Curl yang paling sederhana adalah untuk menampilkan konten dari sebuah halaman Dibawah ini merupakan contoh bila Anda akan merender homepage web dari testdoamain.com.
curl testdomain.com
Command tersebut akan merender seluruh source code dari homepage untuk domain tersebut. Jika tidak ada protokol yang specified, maka curl akan menginterpretasikannya pada HTTP.
Opsi File Curl Command
Curl Command dapat mengunduh file dari remote location. Anda dapat melakukannya dengan dua cara yang berbeda:
-O akan menyimpan file pada direkrori yang namanya sama dengan file remote.
-o memungkinkan Anda untuk spesifikasi file dengan nama atau lokasi berbeda
Contoh dari command tersebut akan terlihat seperti ini:
curl -O http://testdomain.com/testfile.tar.gz
Command di atas akan menyimpannya sebagai testfile.tar.gz.
curl -o newtestfile.tar.gz http://testdomain.com/testfile.tar.gz
Command di atas akan menyimpannya sebagai netestfile.tar.gz.
Jika karena alasan tertentu, seperti unduhan terganggu, Anda dapat melanjutkannya menggunakan curl. Anda dapat melakukan ini dengan command berikut:
curl -C - -O http://testdomain.com/testfile.tar.gz
Menggunakan curl, Anda juga dapat mengunduh beberapa file, seperti yang tertera di bawah ini:
curl -O http://testdomain.com/testfile.tar.gz -O http://mydomain.com/myfile.tar.gz
Jika Anda ingin mengunduh berbagai file dari berbagai URL, masukkan semuanya dalam sebuah file. Curl command dapat digabungkan dengan xargs untuk mengunduh berbagai URL.
Misalnya, jika kita memiliki file allUrls.txt yang berisi daftar semua URL yang akan diunduh, maka contoh di bawah ini dapat digunakan untuk mengunduh semua file.
xargs –n 1 curl -O < allUrls.txt
Curl Command untuk HTTP
Curl juga dapat digunakan ketika ada sebuah proxy server. Jika Anda berada pada proxy server, perhatikan pada port 8090 pada sampleproxy.com, unduh file nya seperti yang terlihat dibawah ini:
curl -x sampleproxy.com:8090 -U username:password -O http:// testdomain.com/testfile.tar.gz
Pada contoh di atas, Anda dapat melewati -U username:password jika proxy tidak memerlukan metode otentikasi.
Permintaan khusus HTTP akan selalu berisi header. Header HTTP mengirim informasi tambahan tentang server web jarak jauh bersama dengan permintaan aktual. Sementara melalui browser development tool, Anda dapat memeriksa informasi header. Anda juga dapat memverifikasinya menggunakan curl command.
Di bawah ini adalah contoh cara mengambil informasi header dari sebuah situs web.
curl -I www.testdomain.com
Dengan curl, Anda bisa membuat permintaan GET dan POST. permintaan GET (GET request) akan terlihat seperti di bawah ini:
curl http://mydomain.com
Contoh dari permintaan POST akan terlihat seperti di bawah ini:
curl –data “text=Hello” https://myDomain.com/firstPage.jsp
Ini berisi permintaan POST diikuti oleh permintaan GET.
Di sini, text=Hello adalah parameter permintaan POST. Perilaku ini akan mirip dengan bentuk HTML.
Anda juga dapat menentukan beberapa metode HTTP dalam satu curl command. Lakukan ini dengan menggunakan opsi –next, seperti ini:
curl –data “text=Hello” https://myDomain.com/firstPage.jsp --next https://myDomain.com/displayResult.jsp
Command ini berisi permintaan POST yang diikuti oleh permintaan GET.
Setiap permintaan HTTP akan memiliki agen user yang dikirim sebagai bagian dari permintaan. Permintaan ini menunjukkan rincian browser web klien. Secara default, curl command berisi curl dan nomor versi sebagai detail agen user. Output sampel adalah seperti yang ditunjukkan di bawah ini:
“GET / HTTP/1.1” 200 “_” ”curl/7/29/0”
Anda dapat mengganti informasi default agen user ini dengan command:
curl -I http://mydomain.com –-user-agent “My new Browser”
Sekarang output yang telah diganti akan terlihat seperti:
“GET / HTTP/1.1” 200 “_” ”My new Browser”
Curl untuk Cookies
Curl command dapat digunakan untuk memeriksa cookie apa yang diunduh di URL apa pun. Jadi, jika Anda mengakses https://www.samplewebsite.com, maka Anda dapat menampilkan suatu file, menyimpan cookie dan mengaksesnya menggunakan cat atau editor VM.
Di bawah ini adalah contoh dari command tersebut:
curl --cookie-jar Mycookies.txt https://www.samplewebsite.com /index.html -O
Curl untuk FTP
Curl command juga mendukung FTP! Anda dapat menggunakannya untuk mengunduh file dari sebuah remote server.
curl -u username:password -O ftp://sampleftpserver/testfile.tar.gz
Dalam perintah di atas, ftp://sampleftpserver adalah server FTP yang menerima koneksi. Username dan kata sandi dapat dilewati untuk koneksi FTP anonim. Ketik command dan perhatikan progress bar yang mulai terisi.
Anda juga dapat mengunggah file dengan command di bawah ini:
curl -u username:password -T testfile.tar.gz ftp://sampleftpserver
Lagi, kita dapat melewati username dan kata sandi untuk koneksi FTP anonim.
Membatasi Output Curl
Selagi Anda menggunakan curl, Anda tidak akan tahu seberapa besar outputnya. Anda dapat membatasi bandwidth untuk memastikan bahwa output tersebut tidak dibatasi oleh curl.
Command dibawah ini dapat membatasi bandwidth hingga 100k:
curl --limit-rate 100K http://testdomain.com/samplefile.tar.gz -O
Kesimpulan
Curl merupakan command yang sangat berguna. Curl akan sangat berguna ketika Anda hanya mengandalkan command line. Ada beberapa opsi yang dimiliki oleh curl dan juga beberapa protokol didukung oleh curl.
Perlu diingat, jika Anda ingin belajar beberapa command tingkat lanjut (advanced), cukup rujuk ke manual yang harus ada di semua versi Unix:
man curl
Kami harap tutorial ini dapat memberi Anda pengetahuan tentang penggunaan Curl! Bagaimana cara Anda memanfaatkan Curl ini? Bagikan cerita Anda melalui kolom komentar dibawah ini!