Há uma boa razão para que isso não funcione diretamente com HTTP, e é que uma URL não é um caminho de arquivo, embora o uso de /
como um delimitador possa fazer com que pareça um, e eles às vezes correspondem. 1
Convencionalmente (ou historicamente), os servidores da web geralmente espelham as hierarquias de diretório (para alguns - por exemplo, Apache - isso é uma espécie de integral) e até fornecem índices de diretório muito parecidos com um sistema de arquivos. No entanto, nada sobre o protocolo HTTP exige isso.
Isso é significativo, porque se você quiser aplicar um glob on, tudo o que é um subpath de http://foo/bar/
, a menos que o servidor forneça algum mecanismo para fornecê-lo (por exemplo, o índice mencionado), não há nada a aplicar é o glob para . Não existe um sistema de arquivos para pesquisar. Por exemplo, só porque você sabe que há 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-lhe uma bela imagem jpg. Etc.
Portanto, não há nenhum padrão aqui que wget
possa explorar. AFAICT, wget trabalha para espelhar uma hierarquia de caminho ativamente examinando links em cada página . Em outras palavras, se você espelhar recursivamente http://foo/bar/index.html
, ele baixará index.html
e, em seguida, extrairá links que são um subcaminho disso. 2 A opção -A
é simplesmente um filtro aplicado nesse processo .
Em suma, se você sabe que esses arquivos estão indexados em algum lugar, você pode começar com isso usando -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 em sua natureza, pode ser de uma forma que permita globbing transparente.
2. Isso significa que pode haver um URL válido http://foo/bar/alt/whatever/stuff/
que não será incluído porque não está vinculado a nada no conjunto de itens vinculado a 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 do conteúdo transparente, nem precisam fazê-lo de maneira intuitivamente óbvia.