Estou tentando baixar este arquivo: http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_megase.zip
using wget, assim:
wget http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_megase.zip
como o servidor usa uma verificação de cookie, isso faz duas solicitações diferentes para o mesmo URL, a primeira retorna 302 e a segunda os dados reais.
Nos meus vps rodando linux isso funciona, mas na minha máquina de desenvolvimento, um mac os 10.9.5 não funciona.
Esta é a saída para wget http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_megase.zip
:
No meu Mac:
--2015-01-12 15:22:47-- http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_megase.zip
Resolvendo www1.caixa.gov.br (www1.caixa.gov.br)... 200.201.160.210
Conectando-se a www1.caixa.gov.br (www1.caixa.gov.br)|200.201.160.210|:80... conectado.
A requisição HTTP foi enviada, aguardando resposta... 302 Found
Localização: http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_megase.zip [redirecionando]
--2015-01-12 15:22:48-- http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_megase.zip
Conectando-se a www1.caixa.gov.br (www1.caixa.gov.br)|200.201.160.210|:80... conectado.
A requisição HTTP foi enviada, aguardando resposta... 404 Not Found
2015-01-12 15:22:49 ERRO 404: Not Found.
No meu VPS:
--2015-01-12 17:23:43-- http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_megase.zip
Resolving www1.caixa.gov.br (www1.caixa.gov.br)... 200.201.160.210
Connecting to www1.caixa.gov.br (www1.caixa.gov.br)|200.201.160.210|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_megase.zip [following]
--2015-01-12 17:23:44-- http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_megase.zip
Connecting to www1.caixa.gov.br (www1.caixa.gov.br)|200.201.160.210|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 100675 (98K) [application/x-zip-compressed]
Saving to: 'D_megase.zip.5'
100%[===========================================================================================================================================>] 100,675 142KB/s in 0.7s
2015-01-12 17:23:45 (142 KB/s) - 'D_megase.zip.5' saved [100675/100675]
Alguém pode me ajudar?
isso na saída com depuração: https://gist.github.com/NicosKaralis/4407d59e8d0c620fdcbd, você pode ver claramente que os pedidos são os mesmos e a resposta não tem nada diferente
Apenas tentou,
—
Nicos Karalis
--retry-connrefused
ainda obter o erro 404 e não salvar nada, --content-on-error
ainda obter o 404, mas o html 404 fornecida pelo servidor é guardado no arquivo de saída
Me desculpe, eu não tenho mac para testá-lo. Você tentou as duas opções juntos? Com o puro Linux e GNU wget v 1.15, ele funciona sem necessidade de opção. Parece que no sistema osx você tem a mesma versão (!). Se for forçado, você pode tentar fazer o download e compilá-lo a partir do código fonte, talvez como um novo comando e com a
—
Hastur
--static
opção Além disso, parece que existe pelo menos uma versão mais recente do wget para mac (1.16). Você pode tentarcurl -L http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_megase.zip -o ./D_megase.zip
curl -L
me dá o seguinte:, curl: (47) Maximum (50) redirects followed
mas se eu passar -H 'Cookie: security=true'
parece parar os redirecionamentos, mas o comportamento é muito irregular, como 10 solicitações feitas e 7 404 erros no mac e 8 no meu linux vps, existe uma maneira de verificar se eles bloqueiam o meu IP ou algo assim?
Eu estava pensando em algo semelhante ... tente encontrar um arquivo que não dê erros ou, melhor, tente usar um proxy do seu mac ; melhor se da mesma VPN. No entanto, se você usar o mesmo proxy de ambas as máquinas ( mac e VPN-Linux ), poderá ver se há um problema de versões diferentes
—
Hastur
wget
ou se há um problema de IP bloqueado.
wget --retry-connrefused ...
ou melhor comwget --content-on-error ...
?