Я пытаюсь скачать этот файл: http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_megase.zip
используя wget, вот так:
wget http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_megase.zip
Поскольку сервер использует проверку cookie, это делает 2 разных запроса на один и тот же URL, первый возвращает 302, а второй - фактические данные.
На моем VPS под управлением Linux это работает, но на моей машине разработки, Mac OS 10.9.5 это не так.
Это вывод для wget http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_megase.zip
:
На моем 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.
На моем 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]
Может кто-нибудь помочь мне?
это вывод с отладкой: https://gist.github.com/NicosKaralis/4407d59e8d0c620fdcbd вы можете ясно видеть, что запросы одинаковы, а в ответе нет ничего другого
Только что попробовал,
—
Nicos Karalis
--retry-connrefused
все еще получаю ошибку 404 и ничего не сохраняет, --content-on-error
все равно получаю 404, но предоставленный сервером 404 HTML сохраняется в выходном файле
Извините, у меня нет Mac, чтобы проверить это. Вы пробовали оба варианта вместе? В чистом Linux и GNU wget v 1.15 он работает без необходимости выбора опций. Похоже, что в системе OSX у вас есть та же версия (!). При необходимости вы можете попытаться скачать и скомпилировать его из исходного кода, возможно, в качестве новой команды и с
—
Hastur
--static
опцией. Более того, кажется, что существует хотя бы более новая версия wget для mac (1.16). Вы можете попробоватьcurl -L http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_megase.zip -o ./D_megase.zip
curl -L
дает мне это:, curl: (47) Maximum (50) redirects followed
но если я прохожу, -H 'Cookie: security=true'
это, кажется, останавливает перенаправления, но поведение слишком ошибочно, например, 10 сделанных запросов и 7 404 ошибок на Mac и 8 на моем Linux VPS, есть ли способ проверить, блокируют ли они мой IP что ли?
Я думал о чем-то похожем ... попробуйте найти файл, который не дает ошибок или, лучше, попробуйте использовать прокси с вашего Mac ; лучше если из того же VPN. Однако, если вы используете один и тот же прокси-сервер с обеих машин ( Mac и VPN-Linux ), вы можете увидеть, является ли это проблемой разных версий
—
Хастур
wget
или проблема заблокированного IP.
wget --retry-connrefused ...
или лучше сwget --content-on-error ...
?