Hay una buena razón por la que esto no puede funcionar directamente con HTTP, y es que una URL no es una ruta de archivo, aunque el uso /
como delimitador puede hacer que parezca una, y a veces se corresponden. 1
Convencionalmente (o, históricamente), los servidores web a menudo hacen jerarquías de directorios espejo (para algunos, por ejemplo, Apache, esto es una especie de integral) e incluso proporcionan índices de directorio como un sistema de archivos. Sin embargo, nada sobre el protocolo HTTP requiere esto.
Esto es significativo, ya que si se desea aplicar un pegote en decir, todo lo que es una subruta de http://foo/bar/
, a menos que el servidor proporciona un mecanismo para ofrecerle tales (por ejemplo, el índice antes mencionado), no hay nada para aplicarla al pegote a . No hay un sistema de archivos allí para buscar. Por ejemplo, solo porque sabe que hay páginas http://foo/bar/one.html
y http://foo/bar/two.html
no significa que pueda obtener una lista de archivos y subdirectorios a través de http://foo/bar/
. Sería completamente dentro del protocolo que el servidor devuelva 404 para eso. O podría devolver una lista de archivos. O podría enviarte una buena foto jpg. Etc.
Entonces, no hay un estándar aquí que wget
pueda explotar. AFAICT, wget trabaja para reflejar una jerarquía de ruta examinando activamente los enlaces en cada página . En otras palabras, si lo refleja de forma recursiva, http://foo/bar/index.html
se descarga index.html
y luego extrae los enlaces que son una ruta secundaria de eso. 2 El -A
interruptor es simplemente un filtro que se aplica en este proceso.
En resumen, si sabe que estos archivos están indexados en alguna parte, puede comenzar con eso usando -A
. Si no, entonces no tienes suerte.
1. Por supuesto, una URL FTP también es una URL. Sin embargo, si bien no sé mucho sobre el protocolo FTP, supongo que, debido a su naturaleza, puede ser de una forma que permita el bloqueo transparente.
2. Esto significa que podría haber una URL válida http://foo/bar/alt/whatever/stuff/
que no se incluirá porque de ninguna manera está vinculada a nada en el conjunto de cosas vinculadas http://foo/bar/index.html
. A diferencia de los sistemas de archivos, los servidores web no están obligados a hacer que el diseño de su contenido sea transparente, ni necesitan hacerlo de una manera intuitivamente obvia.
curl "http://example.com/picture[1-10].jpg" -o "picture#1.jpg"