Saya punya URL seperti ini:
http://dl.minitoons.ir/longs/Khumba (2013) [EN] [BR-Rip 720p] - [www.minitoons.ir].rar
Saya ingin mengunduh URL ini menggunakan wget
. Jika saya meneruskannya langsung wget
, semuanya berjalan dengan baik. Tetapi saya berada dalam situasi bahwa saya hanya memiliki versi unduh URL unduhan. Jika saya meneruskan versi URL yang disandikan ke atas wget
, itu melontarkan kesalahan berikut:
$ wget "http%3A%2F%2Fdl.minitoons.ir%2Flongs%2FKhumba%20(2013)%20%5BEN%5D%20%5BBR-Rip%20720p%5D%20-%20%5Bwww.minitoons.ir%5D.rar"
wget: unable to resolve host address `http://dl.minitoons.ir/longs/khumba (2013) [en] [br-rip 720p] - [www.minitoons.ir].rar'
Perhatikan bahwa wget
mengubah casing URL (misalnya Khumba
ke khumba
). Apa yang harus saya lakukan untuk menyelesaikan masalah ini?
python -c 'import urllib2; print urllib2.unquote("'${URL}'")'
kira-kira sama, jika Anda meletakkan URL Anda di URL variabel lingkungan.Anda harus menggunakannya seperti ini
Ganti setiap ruang dengan
%20
. Atau Lebih Baik salin tautan asli Anda dan tempel di bilah alamat Browser Chromium. Ini akan secara otomatis memformatnya untuk Anda. Sekarang salin dari sana ke terminal Anda.sumber
[Ctrl]+[Shift]+[J]
(untuk konsol dev) dan menyisipkandecodeURIComponent("your-decoded-URI")
.Wget mengharapkan URL memiliki format berikut:
The protokol opsional. Dengan tidak adanya protokol , Wget mengasumsikan HTTP.
Wget menerima URL yang dikodekan persen dengan baik, tetapi pembatas antara protokol , host , dan path tidak dapat dikodekan persen.
Ini juga mengapa Wget mengubah casing URL. Karena tidak menemukan satu tebasan tanpa kode, ia mengasumsikan itu
adalah nama host (yang peka terhadap huruf besar-kecil). Nama host sebenarnya, tentu saja
dl.minitoons.ir
,.Untuk solusi otomatis, mengganti
%3A%2F%2F
dan%2F
setelah nama host dengan://
dan/
akan cukup, tetapi semudah memecahkan kode URL pada satu. @ Willf sudah memberikan solusi yang bagus untuk ini.Namun, jika Anda akan mengetik perintah Wget secara manual, lakukan saja ini:
sumber
Anda hanya perlu memberi tanda kutip di sekitar url dan selesai:
Lebih mudah seperti itu dan Anda tidak perlu mempermalukan diri sendiri dengan barang-barang.
sumber
Saya akhirnya menulis skrip python untuk itu.
sumber