Uma solicitação HTTP pode conter mais cabeçalhos que não são definidos por curl ou wget. Por exemplo:
- Cookie: esse é o motivo mais provável pelo qual uma solicitação seria rejeitada. Vi isso acontecer em sites de download. Dado um cookie
key=val
, você pode configurá-lo com a opção-b key=val
(ou--cookie key=val
) paracurl
. - Referer (sic): ao clicar em um link em uma página da web, a maioria dos navegadores tende a enviar a página atual como referenciadora. Não deve ser invocado, mas mesmo eBay não conseguiu redefinir uma senha quando este cabeçalho estava ausente. Então sim, isso pode acontecer. A opção
curl
para isso é-e URL
e--referer URL
. - Autorização: isso está se tornando menos popular agora devido à interface do usuário incontrolável da caixa de diálogo nome de usuário / senha, mas ainda é possível. Pode ser definido em
curl
com a opção-u user:password
(ou--user user:password
). - User-Agent: algumas solicitações geram respostas diferentes, dependendo do agente do usuário. Isso pode ser usado de uma maneira boa (fornecendo o download real em vez de uma lista de espelhos) ou de maneira ruim (rejeite os agentes do usuário que não iniciam com
Mozilla
ou contenhamWget
oucurl
). / li>
Normalmente, você pode usar as ferramentas do desenvolvedor do seu navegador (o Firefox e o Chrome suportam isso) para ler os cabeçalhos enviados pelo seu navegador. Se a conexão não estiver criptografada (ou seja, não estiver usando HTTPS), você também poderá usar um sniffer de pacotes como o Wireshark para essa finalidade.
Além desses cabeçalhos, os sites também podem acionar algumas ações nos bastidores que mudam de estado. Por exemplo, ao abrir uma página, é possível que uma solicitação seja executada no segundo plano para preparar o link de download. Ou um redirecionamento acontece na página. Essas ações normalmente usam JavaScript, mas também pode haver um quadro oculto para facilitar essas ações.
Se você estiver procurando um método para buscar facilmente arquivos de um site de download, dê uma olhada no plowdown, incluído no plowshare .