Wget работает на Linux, но не на Mac OS

0

Я пытаюсь скачать этот файл: 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 вы можете ясно видеть, что запросы одинаковы, а в ответе нет ничего другого

Никос Каралис
источник
Вы пробовали с wget --retry-connrefused ...или лучше с wget --content-on-error ...?
Хастур
Только что попробовал, --retry-connrefusedвсе еще получаю ошибку 404 и ничего не сохраняет, --content-on-errorвсе равно получаю 404, но предоставленный сервером 404 HTML сохраняется в выходном файле
Nicos Karalis
Извините, у меня нет Mac, чтобы проверить это. Вы пробовали оба варианта вместе? В чистом Linux и GNU wget v 1.15 он работает без необходимости выбора опций. Похоже, что в системе OSX у вас есть та же версия (!). При необходимости вы можете попытаться скачать и скомпилировать его из исходного кода, возможно, в качестве новой команды и с --staticопцией. Более того, кажется, что существует хотя бы более новая версия wget для mac (1.16). Вы можете попробоватьcurl -L http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_megase.zip -o ./D_megase.zip
Hastur
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.
Хастур