Há uma boa razão para que isso não funcione diretamente com HTTP, e isso significa que um URL não é um caminho de arquivo, embora o uso de /
como delimitador possa parecer um, e às vezes eles correspondem. 1
Convencionalmente (ou historicamente), os servidores da Web geralmente refletem hierarquias de diretório (para alguns - por exemplo, Apache - isso é uma espécie de integral) e até fornecem índices de diretório como um sistema de arquivos. No entanto, nada sobre o protocolo HTTP exige isso.
Isto é importante, porque se você deseja aplicar um glob em dizer, tudo o que é um subpath de http://foo/bar/
, a menos que o servidor fornece algum mecanismo para fornecê-lo com tal (por exemplo, o índice acima referido), não há nada para aplicá-lo a glob para . Não existe um sistema de arquivos para pesquisar. Por exemplo, apenas porque você sabe que existem páginas http://foo/bar/one.html
e http://foo/bar/two.html
não significa que você pode obter uma lista de arquivos e subdiretórios via http://foo/bar/
. Seria completamente dentro do protocolo para o servidor retornar 404 para isso. Ou poderia retornar uma lista de arquivos. Ou pode enviar uma boa imagem jpg. Etc.
Portanto, não há um padrão aqui que wget
possa ser explorado. AFAICT, o wget trabalha para espelhar uma hierarquia de caminhos examinando ativamente os links em cada página . Em outras palavras, se você espelha recursivamente, http://foo/bar/index.html
ele baixa index.html
e extrai links que são um subcaminho disso. 2 O -A
switch é simplesmente um filtro aplicado nesse processo.
Em resumo, se você souber que esses arquivos estão indexados em algum lugar, você pode começar usando isso -A
. Se não, então você está sem sorte.
1. É claro que um URL de FTP também é um URL. No entanto, embora eu não saiba muito sobre o protocolo FTP, acho que, com base na natureza, ele pode ter uma forma que permita globbing transparente.
2. Isso significa que pode haver uma URL válida http://foo/bar/alt/whatever/stuff/
que não será incluída porque não está de forma alguma vinculada a nada no conjunto de itens vinculados http://foo/bar/index.html
. Ao contrário dos sistemas de arquivos, os servidores da Web não são obrigados a tornar o layout de seu conteúdo transparente, nem precisam fazê-lo de uma maneira intuitivamente óbvia.
curl "http://example.com/picture[1-10].jpg" -o "picture#1.jpg"