Bagaimana saya bisa mengunduh file ZIP dengan perintah curl? Saya mencoba curl -sO
, tetapi kesalahan terjadi. Saya ingin mengunduh file zip dari alamat:
http://github.com/ziyaddin/xampp/archive/master.zip
tetapi tidak bisa. Apa yang harus saya ketik?
downloads
command-line
zip
curl
Ziyaddin Sadigov
sumber
sumber
Jawaban:
Saya menggunakan
curl -LO
dan itu bekerja dengan baik.wget
bekerja juga.sumber
Coba wget bukannya curl:
wget http://github.com/ziyaddin/xampp/archive/master.zip
sumber
wget
bukancurl
?unzip
file yang diunduhcurl
, dan itu berhasil dengan baikwget
Anda dapat gunakan:
Menghemat sebagai:
xampp-cli-master.zip
-L
jika ditemukan pengalihan.-O
untuk nama file jarak jauh (master.zip
)-J
(gunakan dengan-O
) untuk memungkinkan nama file tajuk jauh (xampp-cli-master.zip
)Atau gunakan
-o
untuk membuat nama file Anda sendiri:curl https://github.com/ziyaddin/xampp/archive/master.zip -L -o MyFilename.zip
Menghemat sebagai:
MyFilename.zip
Catatan: (GitHub mendukung SSL - gunakan
https://
)Anda juga bisa menggunakan
curlrc
file config atau alias perintah CURL yang akan digunakancurl -O -L
untuk memungkinkannya bekerja mirip dengan WGET.Konsultasikan: https://curl.haxx.se/docs/manpage.html#OPTIONS (Lihat: -O , -J , -L , -o )
Perhatikan peringatan menggunakan CURL dengan opsi -J:
sumber
Jika Anda ingin mengunduh file gunakan
wget [option]... [URL]...
saja.Untuk informasi lebih lanjut tentang opsi, cukup ketik ini ke Terminal Anda:
man wget
Untuk tujuan Anda:
wget http://github.com/ziyaddin/xampp/archive/master.zip
Perhatikan bahwa file .zip akan disimpan di direktori Anda saat ini.
sumber
wget
lebih daricurl
. Untuk siapa pun yang bertanya-tanya perbedaan antara keduanya lihat di sini .curl
yang juga berkontribusiwget
dalam peran kecil. Satu kelalaian mencolok (berdasarkan satu kali proyek kecil saya) adalah bahwa wget adalah 10 kali lebih cepat dari curl (<2 detik vs 12 detik) mengambil waktu matahari terbit dan terbenam darihttps://www.timeanddate.com
Untuk mengunduh file di GitHub (atau situs lain mana pun yang membuat pengalihan) menggunakan
curl
, Anda harus lulus-L
(Ikuti pengalihan), jadi gunakan:curl -L http://github.com/ziyaddin/xampp/archive/master.zip -o xampp.zip
sumber
"curl -LOk" membuatnya menggunakan protokol tidak aman (-k), menonaktifkan pemeriksaan sertifikat SSL (yang gagal karena jalur yang salah tidak cocok dengan sertifikat), dan membuat file output menggunakan nama file (-O) yang diusulkan dari server jauh (juga tidak aman). Menurut pendapat saya, server sebaiknya dikonfigurasi untuk membuat alias redirect lokal jika diperlukan, untuk menghindari harus melewati bagian yang tidak sesuai dari URL. Tetapi pengalihan dibuat menggunakan pengalihan HTTP saja (HTTP error 30x), yang menyebabkan masalah untuk menggulung yang tidak mengikuti (secara default) pengalihan (tidak aman) ini, dan opsi (-k) menonaktifkan pemeriksaan keamanan ini. Jadi alih-alih menggunakan pengalihan HTTP (dipindahkan secara permanen), tambahkan beberapa tautan internal pada sistem file server. Jika ini diperlukan karena URL sebenarnya di-host di server fisik lain tanpa akses langsung antara sistem file mereka, Anda harus menggunakan nama DNS lain untuk host ini, sehingga klien akan menanyakan yang benar secara langsung, tanpa pengalihan. Kemudian perbaiki halaman web Anda (Anda dapat menggunakan log server web Anda untuk melihat di mana pengalihan HTTP 30x dikembalikan dan halaman web mana yang perlu diperiksa dan diperbarui). Memaksa klien untuk menggunakan protokol tidak aman / tidak dicentang bukanlah pilihan yang baik.
Jadi ini jelas merupakan masalah konfigurasi yang sangat buruk di server web: coba hubungi admin mereka untuk memperbaikinya.
sumber
baik, kamu bisa menggunakan Axel juga. axel adalah akselerator unduh baris perintah ringan. mendukung
HTTP, HTTPS, FTP
danFTPS
protokol. alternatif yang bagus dan lebih cepat.instal
axel
menggunakan:kemudian unduh file Anda dengan:
sumber
Gunakan opsi
-L
untuk mengikuti arahan ulang, Anda juga dapat menggunakan--output
opsi untuk memberikan jalur dan nama ke file zip. Sebagai contoh:Catatan: Gunakan sudo jika Anda tidak memiliki izin untuk menulis ke folder target.
sumber