Ada alasan bagus bahwa ini tidak dapat bekerja secara langsung dengan HTTP, dan itu adalah bahwa URL bukan path file, meskipun penggunaan /
sebagai pembatas dapat membuatnya terlihat seperti satu, dan mereka kadang-kadang sesuai. 1
Secara konvensional (atau, secara historis), server web sering melakukan hierarki direktori mirror (untuk beberapa - misalnya, Apache - ini semacam integral) dan bahkan menyediakan indeks direktori seperti sistem file. Namun, tidak ada yang perlu tentang protokol HTTP ini.
Ini penting, karena jika Anda ingin menerapkan glob di katakan, segala sesuatu yang merupakan subpath dari http://foo/bar/
, kecuali server menyediakan beberapa mekanisme untuk menyediakan Anda dengan (misalnya indeks tersebut), tidak ada yang menerapkan glob untuk . Tidak ada sistem file di sana untuk dicari. Misalnya, hanya karena Anda tahu ada halaman http://foo/bar/one.html
dan http://foo/bar/two.html
tidak berarti Anda bisa mendapatkan daftar file dan subdirektori melalui http://foo/bar/
. Ini akan sepenuhnya dalam protokol untuk server mengembalikan 404 untuk itu. Atau bisa mengembalikan daftar file. Atau bisa mengirimi Anda gambar jpg yang bagus. Dll
Jadi tidak ada standar di sini yang wget
bisa mengeksploitasi. AFAICT, wget berfungsi untuk mencerminkan hierarki jalur dengan secara aktif memeriksa tautan di setiap halaman . Dengan kata lain, jika Anda secara mirroring mirror http://foo/bar/index.html
itu mengunduh index.html
dan kemudian mengekstrak tautan yang merupakan subpath dari itu. 2 The -A
saklar hanyalah sebuah filter yang diterapkan dalam proses ini.
Singkatnya, jika Anda tahu file-file ini diindeks di suatu tempat, Anda bisa mulai menggunakan itu -A
. Jika tidak, maka Anda kurang beruntung.
1. Tentu saja URL FTP juga URL. Namun, sementara saya tidak tahu banyak tentang protokol FTP, saya kira berdasarkan sifatnya itu mungkin dari bentuk yang memungkinkan untuk globbing transparan.
2. Ini berarti bahwa mungkin ada URL http://foo/bar/alt/whatever/stuff/
yang valid yang tidak akan dimasukkan karena sama sekali tidak terkait dengan apa pun dalam rangkaian hal yang ditautkan http://foo/bar/index.html
. Tidak seperti sistem file, server web tidak berkewajiban untuk membuat tata letak konten mereka transparan, mereka juga tidak perlu melakukannya dengan cara yang jelas secara intuitif.
curl "http://example.com/picture[1-10].jpg" -o "picture#1.jpg"