Jika Anda telah mengikuti instruksi penginstalan yang berfokus pada terminal untuk aplikasi Linux untuk sementara waktu, Anda mungkin pernah menemukan perintah curl di beberapa titik. cURL adalah alat baris perintah untuk mentransfer data dengan URL. Salah satu kegunaan paling sederhana adalah mengunduh file melalui baris perintah. Ini menipu, bagaimanapun, karena cURL adalah alat yang sangat kuat yang dapat melakukan lebih banyak lagi.
Apa Itu Curl?
Awalnya ditulis oleh Daniel Sternberg pada tahun 1996 untuk mengambil data keuangan dari server web dan menyiarkannya ke saluran IRC, cURL telah berkembang menjadi alat yang ampuh untuk mendapatkan data tanpa harus menggunakan browser. Jika Anda selalu menggunakan terminal, ini akan menjadi salah satu alat yang lebih penting dalam gudang senjata Anda.
Di sebagian besar distribusi Linux, cURL sudah diinstal sebelumnya di sistem, dan Anda dapat langsung menggunakannya. Meskipun tidak diinstal, itu juga ditemukan di sebagian besar repositori, sehingga Anda dapat menginstalnya dengan mudah menggunakan Pusat Perangkat Lunak.
Untuk Windows, itu tidak memiliki perintah “curl-like”, dan macOS telah menginstal cURL tetapi tidak menawarkan GB Kembali ke file zip yang Anda unduh, buka, dan temukan “curl.exe” di dalam “bin” map. Salin itu ke folder cURL yang Anda buat. EXE yang Anda salin benar-benar mandiri dan mampu menjalankan setiap permutasi yang dapat Anda jalankan di Linux. Agar perintah ini benar-benar berguna, kita harus menambahkannya ke variabel PATH di Windows sehingga dapat dijalankan dari command prompt di mana saja. Klik menu Start Anda, ketik environment , dan tekan Enter . Klik “Variabel Lingkungan …” Anda sekarang harus berada di pengaturan variabel lingkungan Anda. Pilih variabel lingkungan “Pathâ€, lalu klik “Edit … “Setelah berada di jendela dialog edit path, klik “Baru†dan ketik direktori tempat “curl.exe†Anda berada – misalnya, “C:Program Filecurlâ€.
Klik “OK” pada jendela dialog yang Anda buka melalui proses ini dan nikmati cURL di terminal Anda!
Setiap bendera di cURL yang dapat digunakan di Linux harus berfungsi di versi Windows.
Kata bijak: ingat bahwa command prompt tidak boleh disamakan dengan Windows Terminal. Terminal Windows hadir dengan versi cURL-nya sendiri yang disertakan dalam PowerShell yang melayani fungsi serupa tetapi bekerja sepenuhnya berbeda.
Menggunakan Curl
Untuk memulai, cukup ketik curl maketecheasier.com di terminal Anda dan tekan Enter .
Jika Anda tidak mendapatkan hasil apa pun, itu karena server situs ini tidak dikonfigurasi untuk merespons permintaan koneksi acak ke domain non-wwwnya. Jika Anda menyurvei server yang tidak ada atau tidak online, Anda akan mendapatkan pesan kesalahan yang mengatakan bahwa cURL tidak dapat menyelesaikan host.
Agar cURL melakukan sesuatu yang benar-benar bermanfaat, kita harus menentukan protokol. Dalam contoh kami, kami menggunakan protokol HTTPS untuk menanyakan beranda situs ini. Ketik curl https://www.maketecheasier.com .
Jika semuanya berjalan dengan baik, Anda harus menatap dinding data raksasa. Untuk membuat data itu sedikit lebih bermanfaat, kami dapat memberi tahu cURL untuk memasukkannya ke dalam file HTML:
curl https: // www.maketecheasier.com > ~ / Unduhan / mte.html
Perintah ini menempatkan konten keluaran situs kami ke dalam file HTML di folder Unduhan Anda. Arahkan ke folder dengan pengelola file favorit Anda dan klik dua kali file yang baru saja Anda buat. Itu harus membuka snapshot dari keluaran HTML dari beranda situs ini.
Demikian pula, Anda dapat menggunakan flag -o untuk mencapai hasil yang sama:
curl -o ~ / Unduhan / mte.html https: // www.maketecheasier.com
Mengikuti Pengalihan
Sebagian besar situs secara otomatis mengalihkan lalu lintas dari protokol “http” ke “https”. Di cURL, Anda dapat mencapai hal yang sama dengan flag -L . Ini akan secara otomatis mengikuti pengalihan 301 hingga mencapai halaman atau file yang dapat dibaca.
curl -L http: // google.com.
Melanjutkan Pengunduhan
Saat mengunduh file besar, tergantung pada kecepatan Internet Anda, gangguan bisa sangat mengganggu. Untungnya, cURL memiliki fungsi resume. Melewati flag -C akan mengatasi masalah ini dalam sekejap.
Untuk menunjukkan contoh dunia nyata, saya menyela unduhan rilis pengujian ISO Debian dengan sengaja dengan menekan Ctrl dan C di tengah-tengah mengambilnya.
Untuk perintah kami selanjutnya, lampirkan flag -C . Misalnya,
curl -C – -o ~ / Downloads / debiantesting.iso -L https: // cdimage.debian.org / cdimage / weekly-builds / amd64 / iso-dvd / debian-testing-amd64-DVD- 1 .iso
Pengunduhan berhasil dimulai dari bagian terakhirnya.
Mengunduh Lebih dari Satu File
Karena cURL tidak memiliki cara paling intuitif untuk mengunduh banyak file, ada dua metode, masing-masing dengan kompromi sendiri.
Jika file yang Anda unduh disebutkan satu per satu (misalnya, file1, file2, dan seterusnya), Anda dapat menggunakan tanda kurung untuk mendapatkan rentang lengkap file dan “#” dalam output yang Anda tentukan dengan tanda -o . Untuk membuatnya sedikit tidak membingungkan, berikut adalah contohnya:
curl “http://example.com/file[1-5].zip” -Hai “#1_#2”
Cara yang lebih sederhana untuk melakukan ini adalah dengan -O ( –remote-name ). Bendera ini membuat cURL mengunduh file jarak jauh ke file lokal dengan nama yang sama. Karena Anda tidak perlu menentukan keluaran, Anda harus menggunakan perintah ini saat terminal terbuka di direktori tempat Anda ingin mengunduh file.
ikal -O “https://example.com/file1.zip” -HAI “https://example.com/file2.zip”
Jika Anda memiliki sejumlah besar file yang disebutkan untuk diunduh, –remote-name-all adalah tanda yang lebih baik untuk ini:
curl –remote-nama-semua “https://example.com/file[1-5].zip”
Anda bahkan dapat menentukan file yang tidak dihitung yang berasal dari situs yang sama tanpa harus mengetik ulang URL menggunakan tanda kurung:
curl –remote-nama-semua “https://example.com/{file1.zip,anotherfile.zip,thisisfun.zip}”
Mengunduh dengan Autentikasi
Unduh file yang memerlukan autentikasi (misalnya, saat mengambil dari server FTP pribadi) dengan tanda -u . Setiap permintaan autentikasi harus dilakukan dengan nama pengguna terlebih dahulu dan kata sandi kedua, dengan titik dua yang memisahkan keduanya. Berikut adalah contoh untuk mempermudah:
curl -u nama pengguna:kata sandi -o ~ / Unduhan / file.zip ftp: // contoh.com / file.zip
Ini akan mengautentikasi bonobo_bob teman kita ke server FTP dan mengunduh file ke folder Unduhan.
Memisahkan dan Menggabungkan File
Jika karena alasan apa pun Anda ingin mengunduh file besar dan membaginya menjadi beberapa bag
ian, Anda dapat melakukannya dengan flag –range cURL . Dengan –range , Anda harus menentukan byte yang ingin Anda mulai hingga yang ingin Anda selesaikan. Jika Anda tidak menentukan akhir rentang, itu hanya akan mengunduh sisa file.
Pada perintah di bawah ini, cURL akan mengunduh 100 MB pertama gambar instalasi Arch Linux:
ikal –rentang 0 – 99999999 -o arch.part1 -L https: // mirrors.chroot.ro / archlinux / iso / 2021.11.01 / archlinux-2021.11.01-x86_64.iso
Untuk 100 MB berikutnya, gunakan –range 100000000-199999999 , dll. Anda dapat merangkai perintah ini dengan menggunakan && operan:
ikal –rentang 0 – 99999999 -o arch.part1 -L https: // mirrors.chroot.ro / archlinux / iso / 2021.11.01 / archlinux-2021.11.01-x86_64.iso && curl –range 100000000 – 199999999 -o arch.part2 -L https: // mirrors.chroot.ro / archlinux / iso / 2021.11.01 / archlinux-2021.11.01-x86_64.iso && curl –range 200000000 – 299999999 -o arch.part3 -L https: // mirrors.chroot.ro / archlinux / iso / 2021.11.01 / archlinux-2021.11.01-x86_64.iso && curl –range 300000000 – 399999999 -o arch.part4 -L https: // mirrors.chroot.ro / archlinux / iso / 2021.11.01 / archlinux-2021.11.01-x86_64.iso && curl –range 400000000 – 499999999 -o arch.part5 -L https: // mirrors.chroot.ro / archlinux / iso / 2021.11.01 / archlinux-2021.11.01-x86_64.iso && curl –range 500000000 – 599999999 -o arch.part6 -L https: // mirrors.chroot.ro / archlinux / iso / 2021.11.01 / archlinux-2021.11.01-x86_64.iso && curl –range 600000000 – 699999999 -o arch.part7 -L https: // mirrors.chroot.ro / archlinux / iso / 2021.11.01 / archlinux-2021.11.01-x86_64.iso && curl –range 700000000 – -o arch.part8 -L https: // mirrors.chroot.ro / archlinux / iso / 2021.11.01 / archlinux-2021.11.01-x86_64.iso
Jika Anda mengikuti struktur perintah di atas ke surat itu, delapan file akan muncul di mana Anda meminta cURL untuk mengunduhnya.
Untuk menyatukan kembali file-file ini, Anda harus menggunakan perintah cat jika Anda menggunakan Linux atau macOS seperti:
cat arch.part? > arch.iso
Untuk Windows, Anda harus menggunakan perintah salin seperti ini:
menyalin / b arch.part * arch.iso
Fitur Berguna Lainnya
Ada banyak flag dan kegunaan untuk cURL:
-# – Menggunakan bilah kemajuan untuk menunjukkan seberapa jauh Anda berada dalam apa yang Anda ambil. Contoh: curl -# https://asite.com/somefile.zip > ~/somefile.zip . -a – Meminta cURL untuk menambahkan file daripada menimpanya. Contoh: curl -ao ~/collab-full.x https://example-url.com/collab-part26.x . –head – Hanya mengambil header respons dari server tanpa data keluaran. Ini berguna saat Anda sedang men-debug situs web atau mengintip respons terprogram server terhadap klien. Contoh: curl –head https://example-url.com . –limit-rate – Memesan unduhan dengan lebar pita terbatas. Ini berguna dalam situasi di mana Anda tidak ingin cURL memonopoli semua bandwidth yang tersedia di sistem Anda. Angka sederhana akan ditafsirkan sebagai byte per detik. K mewakili kilobyte per detik; M mewakili megabyte per detik. Contoh: curl –limit-rate 8M https://example-url.com/file.zip > ~/file.zip . -o – Seperti disebutkan sebelumnya, menentukan file keluaran untuk digunakan cURL. Contoh: curl -o ~/Downloads/file.zip https://thefileplace.com/file.zip -o file2.zip https://thefileplace.com/file2.zip . –proxy – Jika Anda ingin bekerja dengan proxy, inilah caranya. Contoh: curl –proxy proxyurl:port https://example-url.com/file.zip > ~file.zip .
cURL vs Wget
Keduanya dirilis pada tahun yang sama (1996), cURL dan Wget adalah program saudara bagi pengamat biasa. Namun, selami lebih dalam, dan Anda dapat melihat kedua saudari ini memiliki tujuan yang berbeda.
Dapatkan
Ini sepenuhnya dibangun dari bawah ke atas untuk mengambil data dari Internet. Tidak memerlukan tanda -L atau -o seperti cURL; cukup ketik wget [url] dan buka!Dapat mengunduh secara rekursif untuk mengambil semua yang ada di direktori dengan flag -r.Memiliki semua fungsi yang dibutuhkan pengguna untuk penggunaan sehari-hari dan memenuhi tugas sysadmin sehari-hari.(Di Linux) Tidak perlu banyak dependensi; semuanya harus tersedia di luar kotak.
keriting
Repertoar bendera yang luas dan fungsi yang berguna untuk pengambilan jarak jauh.Mendukung jaringan lokal (LDAP) dan printer jaringan (Samba).Bekerja dengan baik dengan pustaka kompresi gzip.Tergantung pada libcurl, yang memungkinkan pengembang untuk menulis perangkat lunak atau skrip bash yang menyertakan fungsionalitas cURL.
Singkatnya, Wget adalah “kotak alat semua orang” untuk mengambil barang dari Internet, sementara cURL memperluas ini dengan kontrol yang lebih terperinci untuk pengguna yang kuat dan administrator sistem.
Pertanyaan yang Sering Diajukan
1. Saya mendapat kesalahan sertifikat di Linux. Bagaimana saya memperbaikinya?
Jika Anda mendapat pesan kesalahan yang mengatakan sesuatu seperti “penerbit sertifikat peer telah ditandai sebagai tidak tepercaya”, cara termudah untuk memperbaikinya adalah dengan menginstal ulang paket sertifikat umum di distro Anda.
Untuk sistem berbasis Debian/Ubuntu:
sudo apt instal ulang sertifikat-ca
Untuk Fedora/CentOS/RHEL:
dnf instal ulang sertifikat-ca
Untuk sistem berbasis Arch:
pacman -S ca-sertifikat
Perhatikan bahwa di Arch Anda mungkin ingin menghapus cache paket Anda menggunakan pacman -Scc sebelum menginstal ulang paket sertifikat.
Jika Anda masih mendapatkan kesalahan ini, mungkin ada yang salah di ujung server.
2. Apakah aman menjalankan perintah cURL dan bash secara bersamaan?
Meskipun bukan cara yang paling umum untuk menginstal aplikasi Linux, ada sejumlah pengembang (seperti orang-orang di belakang NodeJS) yang tidak memberi Anda pilihan selain menggunakan curl bersama perintah akses root yang berjalan melalui bash (misalnya, curl [argumen ] | sudo -E bash – ) untuk menginstal perangkat lunak.
Ini mungkin terlihat sedikit menakutkan, tetapi jika orang di balik aplikasi ini dapat dipercaya, kecil kemungkinan Anda akan merusak sesuatu. Aktor jahat ada di mana- mana dan dapat menyusup ke repositori seperti AUR Arch, jadi menginstal menggunakan curl yang dikombinasikan dengan perintah akses root umumnya tidak lebih aman daripada melakukannya melalui manajer paket Anda.
3. Bisakah saya menggunakan cURL dengan Tor?
Ya! Jalankan Tor Browser (atau layanan tor mandiri) dan gunakan flag –proxy . Tor memberi Anda proxy lokal yang dapat Anda gunakan untuk menutupi IP Anda di aplikasi lain. Berikut adalah contoh cURL yang digunakan dengan Tor:
curl –proxy localhost: 9050 http: // contoh.com
Layanan Tor Mandiri akan menggunakan 9050 sebagai port mendengarkan mereka, sementara browser Tor menggunakan port 9150.
Membungkus
cURL telah terbukti tangguh di tengah perubahan tatanan dunia Linux, mempertahankan posisinya sebagai alat penting dalam gudang pengguna terminal.
Jika Anda baru mengenal baris perintah, lihat beberapa perintah Linux yang paling berguna. Jika Anda hanya ingin mencari di Web alih-alih mengunduh data dari Internet, Anda juga dapat menjelajah di terminal.