Menggunakan cURL untuk Mengunduh File Jarak Jauh dari Baris Perintah

Daftar Isi:

Anonim

Alat baris perintah curl yang kuat dapat digunakan untuk mengunduh file dari hampir semua server jarak jauh. Pengguna baris perintah lama tahu bahwa ini dapat berguna untuk berbagai macam situasi, tetapi untuk menjaga semuanya tetap sederhana, banyak yang akan menemukan bahwa mengunduh file dengan curl seringkali dapat menjadi alternatif yang lebih cepat untuk menggunakan browser web atau klien FTP dari sisi GUI. Mac OS X (atau linux).Ini berguna untuk situasi lokal, tetapi ada nilai khusus jika Anda berada dalam situasi di mana Anda perlu mengunduh sesuatu ke Mac jarak jauh saat terhubung melalui SSH.

Untuk tujuan panduan ini, kami akan berfokus terutama pada pengunduhan file dari dua protokol HTTP dan SFTP yang umum ditemui, meskipun perlu dicatat bahwa cURL mendukung lebih banyak protokol. Meskipun curl mudah digunakan, disarankan untuk memiliki pengetahuan tentang baris perintah.

Unduh File Pencocokan Persis dengan curl -O

Menggunakan bendera huruf besar -O dengan curl mengunduh file dari server jarak jauh sambil mempertahankan nama file yang tepat, sintaks dasar untuk ini adalah sebagai berikut:

curl -O

Ini berarti jika file URL yang ditentukan bernama "sample.zip" itu akan diunduh dengan nama file "sample.zip", dan jika file tersebut bernama sesuatu yang besar dan rumit seperti "LongExampleFileNameForOSXDaily-v- 1-3-51-revisi-515b12-readme.txt” di server jarak jauh, itu akan disimpan dengan nama persis itu di mesin lokal. Nama file yang lebih panjang seringkali lebih baik ditangani dengan tanda -o daripada -O, yang akan segera kita tangani.

Pembaca biasa mungkin ingat bahwa kami menggunakan perintah curl -O saat menjelaskan cara mengekstrak konten audio sebenarnya dari file streaming m3u.

Memulai unduhan apa pun dengan ikal menunjukkan persentase yang ditransfer, waktu yang dihabiskan untuk mengunduh dan sisa waktu, serta kecepatan transfer.

Tangkapan layar menawarkan representasi yang lebih baik daripada contoh yang ditempelkan di bawah, tetapi terlihat seperti ini:

% Total % Diterima % Kecepatan Rata-Rata Xferd Waktu Waktu Waktu Dload Saat Ini Unggah Total Pembelanjaan Kecepatan Kiri 100 10505 100 10505 0 0 79741 0 --:--:-- --:--:-- --:--:-- 142rb

Dengan menunjukkan kecepatan transfer, Anda dapat mengarahkan output curl ke /dev/null dan menggunakannya untuk menguji kecepatan koneksi internet, tetapi perintah wget lebih mudah dibaca dan diikuti bilah transfer sehingga wget lebih baik cocok untuk tugas itu.

Menyimpan File Jarak Jauh dengan Nama Berbeda dengan curl -o

Menggunakan flag -o dengan huruf kecil akan memungkinkan Anda untuk menentukan nama file yang berbeda untuk file yang diunduh daripada namanya di server jarak jauh. Ini dapat membantu untuk mengurangi nama file yang panjang atau hanya melabeli sesuatu sehingga lebih mudah ditemukan sendiri. Sintaks umumnya adalah:

curl -o

Misalnya, jika Anda ingin menyimpan file IPSW iOS yang Anda temukan terdaftar di server Apple tanpa memiliki nama lengkap yang panjang, Anda dapat menggunakan yang berikut ini:

curl -o iPhone5C-704.ipsw http://appldnld.apple.com/iOS7/031-1828.20131114.P3wE4/iPhone5, 3_7.0.4_11B554a_Restore.ipsw

Ini akan mengunduh file “iPhone5, 3_7.0.4_11B554a_Restore.ipsw” tetapi diberi nama lebih pendek sebagai “iPhone5C-704.ipsw” yang lebih bermakna.

Jika Anda lebih suka tidak menyimpan file ke direktori kerja saat ini, tentukan path sebagai bagian dari nama file seperti:

curl -o ~/Desktop/localexample.dmg http://url-to-file/example.dmg

Mengunduh Banyak File Secara Bersamaan dengan curl

cURL dapat dengan mudah mengunduh banyak file sekaligus, yang perlu Anda lakukan hanyalah menentukan lebih dari satu URL seperti:

curl -O

Untuk file dengan nama berbeda, atau dihosting di server berbeda, atau dalam jalur direktori berbeda, gunakan URL lengkap, misalnya:

curl -O http://ftp.gnu.org/gnu/Licenses/fdl-1.1.txt http://ftp.gnu.org/gnu/ Lisensi/lgpl-2.1.txt http://ftp.gnu.org/gnu/GNUinfo/Audio/index.txt

Sebaliknya, jika nama file yang akan diunduh menggunakan penamaan inkremental, Anda dapat menggunakan tanda kurung untuk menentukan rentang unduhan, seperti:

curl -O http://ftp.gnu.org/gnu/Licenses/fd1-1.txt

Ini akan mengambil file fdl-1.1.txt, fd1-1.2.txt, dan fd1-1.3.txt sekaligus tanpa harus menentukan setiap URL unik. Tentu saja ini hanya berfungsi jika file berada di direktori yang sama dan di domain yang sama.

Mengautentikasi dengan curl

Anda juga dapat melewati autentikasi dengan cURL menggunakan flag -u:

curl -u user:pass -O ftp://remote_url/file-to-download.zip

Perlu diingat bahwa sejarah bash akan menyimpan kata sandi dalam teks biasa saat menggunakan -u dengan nama pengguna dan kata sandi yang ditentukan, sehingga ini tidak disarankan untuk sebagian besar situasi. Anda bisa menyiasatinya dengan menempatkan spasi di depan 'curl'.Jika Anda tidak menggunakan bilah spasi untuk mengawali perintah, Anda mungkin ingin mengosongkan riwayat perintah setelahnya agar aman.

Protokol curl yang didukung & Penggunaan Di Luar HTTP & FTP

Seperti disebutkan sebelumnya, penggunaan cURL jauh melampaui HTTP dan FTP, karena entri halaman manual curl menyebutkan protokol tambahan dalam deskripsi:

Selain itu, Anda akan menemukan bahwa curl juga dapat digunakan untuk permintaan PUT dan POST, cookie, proksi, terowongan, melanjutkan unduhan, dan bahkan mengambil informasi header HTTP atau mengubah agen pengguna (spoofing efektif) tanpa perlu menggunakan browser web khusus.

Seperti kebanyakan utilitas baris perintah, Anda dapat mempelajari lebih banyak tentang curl dengan memanggil halaman manual yang sesuai dengan perintah 'man curl'.

Menggunakan cURL untuk Mengunduh File Jarak Jauh dari Baris Perintah