Saya mencoba mengunduh file dari sourceforge menggunakan wget, tetapi seperti yang kita semua tahu, kita harus mengklik tombol unduh dan kemudian menunggu untuk mengunduh secara otomatis. bagaimana Anda mengunduh file jenis ini menggunakan wget?
Saya berusaha mengunduh ini: http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.1/bitcoin-0.8.1-linux.tar.gz/download
Tetapi melakukan wget pada tautan url itu tidak akan memberi saya file karena file tersebut dimuat secara otomatis melalui browser.
wget --trust-server-names URL
Jawaban:
Saya tidak yakin versi
wget
atau OS dan proxy mana yang ada di antara Anda dan sourceforge tetapiwget
mengunduh file ketika saya menghapus "/ unduh" dan meninggalkannya di ekstensi file.Saya tidak ingin membanjiri pos atau menempelkan seluruh sesi saya tapi saya mendapat 302 kode status kemudian 200 sebelum transfer dimulai. Apa yang terjadi ketika Anda mencoba
wget
?sumber
Saya akan menyarankan menggunakan
curl
untuk melakukan ini, bukanwget
. Hal ini dapat mengikuti pengalihan dengan menggunakan switch-L
,-J
dan-O
.beralih definisi
Lihat halaman curl man untuk lebih jelasnya.
sumber
wget
dapat mengikuti arahan ulang, tetapi tidak melakukannya kecuali Anda meningkatkan--max-redirect
dari default, yang karena alasan keamanan tentu saja 0.wget
Default 1.19.2 adalah--max-redirect=20
yang harus cukup baik untuk sebagian besar penggunaan. Saya tidak yakin kapan itu berubah ... atau mengapa itu diperlukan untuk keamanan (rujukan?), Tetapi dugaan saya adalah bahwa solusi yang lebih disukai saat ini adalah mengikuti pengalihan dan alih-alih harus--trust-server-names
mempertahankan nama yang diberikan oleh target pengalihan alih-alih " unduh "atau" index.html? blah = barg "atau apa pun yang digunakan URL yang disediakan.curl -JLO http://www.example.com/file.ext
Dalam
wget
Anda dapat menggunakan--content-disposition
opsi yang berguna untuk beberapa program CGI berkas-download bahwa penggunaan "Content-Disposition" header untuk menggambarkan apa nama file yang didownload harus.Sebagai contoh:
Untuk solusi yang lebih kompleks (seperti diperlukan otorisasi), gunakan file cookie (
--load-cookies file
) untuk mensimulasikan sesi Anda.sumber