загрузить файл с сайта, который использует файлы cookie сеанса с узлом

Я пытаюсь загрузить CSV-файл с веб-сайта, который использует сеансовые файлы cookie с HTTPOnly. Я пробовал с запросом и с помощью jar, а также пробовал с кукловодом (где загрузка страницы заблокирована). Я не знаю, есть ли что-то, что я сделал неправильно в коде, или весь метод неверен...

Страница https://data.gov.il/dataset/degem-rechev-wltp/resource/142afde2-6228-49f9-8a29-9b6c3a0cbe40

и файл https://data.gov.il/dataset/45e317cf-7bb1-4535-b8cf-be5e79ea341f/resource/142afde2-6228-49f9-8a29-9b6c3a0cbe40/download/degem_rechev_wltpmot.gov.il.csv

Любые рекомендации о том, как загрузить файл с помощью узла?

Кнопка загрузки на странице


person Ron.B    schedule 15.11.2019    source источник


Ответы (1)


В моем окне инструменты разработчика Chrome генерируют следующую команду curl

curl "https://data.gov.il/dataset/45e317cf-7bb1-4535-b8cf-be5e79ea341f/resource/142afde2-6228-49f9-8a29-9b6c3a0cbe40/download/degem_rechev_wltpmot.gov.il.csv" -H "authority: data.gov.il" -H "upgrade-insecure-requests: 1" -H "user-agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36" -H "accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3" -H "sec-fetch-site: none" -H "sec-fetch-mode: navigate" -H "accept-encoding: gzip, deflate, br" -H "accept-language: en,ru-RU;q=0.9,ru;q=0.8,en-US;q=0.7,uk;q=0.6,pl;q=0.5,de;q=0.4,fr;q=0.3" -H "cookie: rbzid=+y6YNWeSzY3HUYMml3AKWXon7IJJndSomjXuti1J3fMzCjkcRTkWcSnkKh2TVfpaN8fJxqFvvd8/of5JjfOwpHn7ZYzcg/QSp8JYjJdXlGfuNg5ihg05g576LXOCsl+HonH0UH6jxg2nfJK7wjKpJso3y5qA2g+n/bEWK3tCG0eGexT1ffDiGldR8wPawH2+McL0L9cyxAisd08BXJruqztVdXObV6h63o7Sb25Qu4ripVGOMhMat+ZWcV8GBkJG; rbzsessionid=75b0067c512d09569cc11db8a8f1b240" -H "if-none-match: W/^\^"1573792925.61-26103321^\^"" -H "if-modified-since: Fri, 15 Nov 2019 04:42:05 GMT" --compressed

Я считаю, что вы можете использовать его для создания правильного запроса от Node.js.

person Yaroslav Gaponov    schedule 15.11.2019
comment
Спасибо, мне удалось использовать curl, как вы показали здесь, но здесь есть файл cookie rbzid, это ключ. При первом посещении сайта этот файл cookie создается, и я не знаю, как долго он будет действителен. Поэтому я бы попытался сделать это в два шага: первый шаг для создания файла cookie rbzid, а вторым шагом будет запрос на получение / CURL с использованием файла cookie из предыдущего шага. - person Ron.B; 15.11.2019