1

Тема: CMD/BAT: Wget/Curl скачивает неверный размер файла

Здравствуйте!

При скачивании указанной ниже ссылки с помощью браузера происходит перенаправление на другую ссылку, откуда скачивается файл размером ~ 4 МБ.

Если по той же ссылке скачивать через Wget / Curl, получим совершенно другой файл и размером ~ 1,7 МБ.

Кто-нибудь сталкивался с похожей проблемой?

{ [5 bytes data]
< HTTP/1.1 200 OK
< Cache-Control: private
< Content-Type: application/vnd.ms-excel
< Server: Smarthouse Lightspeed 4
< Content-Disposition: filename=2016-05-05-11-24-42
< X-AspNet-Version: 2.0.50727
< X-Powered-By: ASP.NET
< Date: Thu, 05 May 2016 11:24:42 GMT
< Content-Length: 1764944


set "URL=http://www.bnpparibasmarkets.nl/NL/ExcelExport.ashx?ListName=ProductList&config=ActiveProducts&st_search=smVUClJgyncg54s%%2fXHulQrrA%%2blYEamThFGaF9vbZiuJIg20zaZF6lNpn7UgiO%%2b1w5X5yJSeb%%2brJMuLVMD4lJuKs4HzFyqw2QkyMqQOuSjy8JZLSnGk721HD%%2bIy0Nhwb0YIyOzcwVXKZFgAA9NssHoD0ujOsmAwJIX%%2bIYEjGlSKe%%2batJCRfo3YYJ8cFt81ytLMQQNr5HV6CyfX6UkR04utQ%%2bTcc7TqcLKJHDpJcgJexKWarN5Ke5sJm4YFAqzV1BxaVT6JZ8fO0AvQkfkteXrPXsqHR3%%2f0kXZ7%%2bTMXP4ERlw%%3d"

curl.exe -L -v 	--create-dirs -J -o "c:\temp\Data\my1.xls" "%URL%"

wget.exe --no-cache --no-dns-cache --no-check-certificate --tries=2 --output-document="c:\temp\Data\my2.xls" "%URL%"

(в примере выше % удвоены, но для браузера это похоже без разницы)

Ссылка до и после перенаправления:


http://www.bnpparibasmarkets.nl/NL/ExcelExport.ashx?ListName=ProductList&config=ActiveProducts&st_search=smVUClJgyncg54s%%2fXHulQrrA%%2blYEamThFGaF9vbZiuJIg20zaZF6lNpn7UgiO%%2b1w5X5yJSeb%%2brJMuLVMD4lJuKs4HzFyqw2QkyMqQOuSjy8JZLSnGk721HD%%2bIy0Nhwb0YIyOzcwVXKZFgAA9NssHoD0ujOsmAwJIX%%2bIYEjGlSKe%%2batJCRfo3YYJ8cFt81ytLMQQNr5HV6CyfX6UkR04utQ%%2bTcc7TqcLKJHDpJcgJexKWarN5Ke5sJm4YFAqzV1BxaVT6JZ8fO0AvQkfkteXrPXsqHR3%%2f0kXZ7%%2bTMXP4ERlw%%3d
https://www.bnpparibasmarkets.nl/NL/ExcelExport.ashx?ListName=ProductList&config=ActiveProducts&st_search=smVUClJgyncg54s%25%2fXHulQrrA%25%2blYEamThFGaF9vbZiuJIg20zaZF6lNpn7UgiO%25%2b1w5X5yJSeb%25%2brJMuLVMD4lJuKs4HzFyqw2QkyMqQOuSjy8JZLSnGk721HD%25%2bIy0Nhwb0YIyOzcwVXKZFgAA9NssHoD0ujOsmAwJIX%25%2bIYEjGlSKe%25%2batJCRfo3YYJ8cFt81ytLMQQNr5HV6CyfX6UkR04utQ%25%2bTcc7TqcLKJHDpJcgJexKWarN5Ke5sJm4YFAqzV1BxaVT6JZ8fO0AvQkfkteXrPXsqHR3%25%2f0kXZ7%25%2bTMXP4ERlw%25%3d

Спасибо за подсказки.

2

Re: CMD/BAT: Wget/Curl скачивает неверный размер файла

Возможно, связано с тем, что wget и curl, в отличие от браузера, js-скрипты не обрабатывают со страницы и потому ссылка берется "как есть".

3

Re: CMD/BAT: Wget/Curl скачивает неверный размер файла

Возможно, связано с тем, что wget и curl, в отличие от браузера, js-скрипты не обрабатывают со страницы и потому ссылка берется "как есть".

Джава скрипты тут не при чем.

в примере выше % удвоены, но для браузера это похоже без разницы

Есть разница.
При удвоенных процентах скачивается файл весом 4 мб.
При одинарных 1.7.

4

Re: CMD/BAT: Wget/Curl скачивает неверный размер файла

Другими словами, в первой строке батника %% нужно массово заменить на %%%%.