GNU/Linux >> Belajar Linux >  >> Linux

Perintah Curl di Linux dengan Contoh

curl adalah utilitas baris perintah untuk mentransfer data dari atau ke server yang dirancang untuk bekerja tanpa interaksi pengguna. Dengan curl , Anda dapat mengunduh atau mengunggah data menggunakan salah satu protokol yang didukung termasuk HTTP, HTTPS, SCP, SFTP, dan FTP. curl menyediakan sejumlah opsi yang memungkinkan Anda untuk melanjutkan transfer, membatasi bandwidth, dukungan proxy, otentikasi pengguna, dan banyak lagi.

Dalam tutorial ini, kami akan menunjukkan cara menggunakan alat curl melalui contoh praktis dan penjelasan rinci tentang opsi curl yang paling umum.

Menginstal Curl #

Paket curl sudah diinstal sebelumnya di sebagian besar distribusi Linux saat ini.

Untuk memeriksa apakah paket Curl diinstal pada sistem Anda, buka konsol Anda, ketik curl , dan tekan enter. Jika Anda memiliki curl diinstal, sistem akan mencetak curl: try 'curl --help' or 'curl --manual' for more information . Jika tidak, Anda akan melihat sesuatu seperti curl command not found .

Jika curl tidak diinstal, Anda dapat menginstalnya dengan mudah menggunakan manajer paket distribusi Anda.

Instal Curl di Ubuntu dan Debian #

sudo apt updatesudo apt install curl

Instal Curl di CentOS dan Fedora #

sudo yum install curl

Cara Menggunakan Keriting #

Sintaks untuk curl perintahnya adalah sebagai berikut:

curl [options] [URL...]

Dalam bentuknya yang paling sederhana, ketika dipanggil tanpa opsi apa pun, curl menampilkan sumber daya yang ditentukan ke output standar.

Misalnya, untuk mengambil example.com beranda yang akan Anda jalankan:

curl example.com

Perintah akan mencetak kode sumber dari example.com beranda di jendela terminal Anda.

Jika tidak ada protokol yang ditentukan, curl mencoba menebak protokol yang ingin Anda gunakan, dan defaultnya adalah HTTP .

Simpan Output ke File #

Untuk menyimpan hasil curl perintah, gunakan salah satu -o atau -O pilihan.

Huruf kecil -o menyimpan file dengan nama file yang telah ditentukan, yang pada contoh di bawah ini adalah vue-v2.6.10.js :

curl -o vue-v2.6.10.js https://cdn.jsdelivr.net/npm/vue/dist/vue.js

Huruf besar -O menyimpan file dengan nama file aslinya:

curl -O https://cdn.jsdelivr.net/npm/vue/dist/vue.js

Unduh Banyak file #

Untuk mengunduh banyak file sekaligus, gunakan beberapa -O pilihan, diikuti dengan URL ke file yang ingin Anda unduh.

Dalam contoh berikut, kami mengunduh file iso Arch Linux dan Debian:

curl -O http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso  \     -O https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.4.0-amd64-netinst.iso

Lanjutkan Unduhan #

Anda dapat melanjutkan unduhan dengan menggunakan -C - pilihan. Ini berguna jika koneksi Anda terputus selama pengunduhan file besar, dan alih-alih memulai pengunduhan dari awal, Anda dapat melanjutkan pengunduhan sebelumnya.

Misalnya, jika Anda mengunduh file iso Ubuntu 18.04 menggunakan perintah berikut:

curl -O http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso

dan tiba-tiba koneksi Anda terputus, Anda dapat melanjutkan pengunduhan dengan:

curl -C - -O http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso

Dapatkan HTTP Header dari URL #

Header HTTP adalah pasangan nilai kunci yang dipisahkan titik dua yang berisi informasi seperti agen pengguna, tipe konten, dan penyandian. Header dilewatkan antara klien dan server dengan permintaan atau respons.

Gunakan -I opsi untuk mengambil hanya header HTTP dari sumber daya yang ditentukan:

curl -I --http2 https://www.ubuntu.com/

Uji apakah Situs Web Mendukung HTTP/2 #

Untuk memeriksa apakah URL tertentu mendukung protokol HTTP/2 baru, ambil Header HTTP dengan -I bersama dengan --http2 pilihan:

curl -I --http2 -s https://linuxize.com/ | grep HTTP

-s opsi memberitahu curl untuk berjalan secara diam (tenang) dan menyembunyikan pengukur kemajuan dan pesan kesalahan.

Jika server jauh mendukung HTTP/2, curl mencetak HTTP/2.0 200 :

HTTP/2 200

Jika tidak, responsnya adalah HTTP/1.1 200 :

HTTP/1.1 200 OK

Jika Anda memiliki versi curl 7.47.0 atau yang lebih baru, Anda tidak perlu menggunakan --http2 pilihan karena HTTP/2 diaktifkan secara default untuk semua koneksi HTTPS.

Ikuti Pengalihan #

Secara default, curl tidak mengikuti header Lokasi HTTP.

Jika Anda mencoba mengambil versi non-www dari google.com , Anda akan melihat bahwa alih-alih mendapatkan sumber laman, Anda akan dialihkan ke versi www:

curl google.com

-L opsi menginstruksikan curl untuk mengikuti pengalihan apa pun hingga mencapai tujuan akhir:

curl -L google.com

Ubah Agen-Pengguna #

Terkadang saat mengunduh file, server jarak jauh mungkin disetel untuk memblokir Agen Pengguna Curl atau mengembalikan konten yang berbeda tergantung pada perangkat pengunjung dan browser.

Dalam situasi seperti ini untuk meniru browser yang berbeda, gunakan -A pilihan.

Misalnya untuk mengemulasi Firefox 60 Anda akan menggunakan:

curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" https://getfedora.org/

Tentukan Tarif Transfer Maksimum #

--limit-rate pilihan memungkinkan Anda untuk membatasi kecepatan transfer data. Nilai dapat dinyatakan dalam byte, kilobyte dengan k akhiran, megabyte dengan m akhiran, dan gigabyte dengan g akhiran.

Pada contoh berikut curl akan mengunduh biner Go dan membatasi kecepatan unduh hingga 1 mb:

curl --limit-rate 1m -O https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz

Opsi ini berguna untuk mencegah curl menghabiskan semua bandwidth yang tersedia.

Transfer File melalui FTP #

Untuk mengakses server FTP yang dilindungi dengan curl , gunakan -u pilihan dan tentukan nama pengguna dan kata sandi seperti yang ditunjukkan di bawah ini:

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

Setelah masuk, perintah tersebut mencantumkan semua file dan direktori di direktori home pengguna.

Anda dapat mengunduh satu file dari server FTP menggunakan sintaks berikut:

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/file.tar.gz

Untuk mengunggah file ke server FTP, gunakan -T diikuti dengan nama file yang ingin Anda unggah:

curl -T newfile.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

Kirim Cookie #

Terkadang Anda mungkin perlu membuat permintaan HTTP dengan cookie tertentu untuk mengakses sumber daya jarak jauh atau untuk men-debug masalah.

Secara default, saat meminta sumber daya dengan curl , tidak ada cookie yang dikirim atau disimpan.

Untuk mengirim cookie ke server, gunakan -b switch diikuti dengan nama file yang berisi cookie atau string.

Misalnya, untuk mengunduh file rpm Oracle Java JDKjdk-10.0.2_linux-x64_bin.rpm Anda harus memberikan cookie bernama oraclelicense dengan nilai a :

curl -L -b "oraclelicense=a" -O http://download.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.rpm

Menggunakan Proksi #

curl mendukung berbagai jenis proxy, termasuk HTTP, HTTPS, dan SOCKS. Untuk mentransfer data melalui server proxy, gunakan -x (--proxy ), diikuti oleh URL proxy.

Perintah berikut mengunduh sumber daya yang ditentukan menggunakan proxy di 192.168.44.1 port 8888 :

curl -x 192.168.44.1:8888 http://linux.com/

Jika server proxy memerlukan otentikasi, gunakan -U (--proxy-user ) pilihan diikuti dengan nama pengguna dan kata sandi yang dipisahkan oleh titik dua (user:password ):

curl -U username:password -x 192.168.44.1:8888 http://linux.com/

Kesimpulan #

curl adalah alat baris perintah yang memungkinkan Anda mentransfer data dari atau ke host jarak jauh. Ini berguna untuk memecahkan masalah, mengunduh file, dan banyak lagi.

Contoh yang ditampilkan dalam tutorial ini sederhana, tetapi mendemonstrasikan curl yang paling sering digunakan pilihan dan dimaksudkan untuk membantu Anda memahami bagaimana curl perintah kerja.

Untuk informasi lebih lanjut tentang curl kunjungi halaman Dokumentasi Curl.

Jika Anda memiliki pertanyaan atau masukan, jangan ragu untuk memberikan komentar.


Linux
  1. Perintah Tee Linux dengan Contoh

  2. Perintah kepala Linux dengan Contoh

  3. Perintah JQ di Linux dengan Contoh

  1. Perintah wc Linux dengan Contoh

  2. Perintah sortir Linux dengan Contoh

  3. Perintah Echo di Linux (Dengan Contoh)

  1. Perintah man di Linux dengan Contoh

  2. Perintah AWK di Linux dengan Contoh

  3. Contoh perintah curl Linux – Bagian 2