Я использую пакет got для получения страниц с веб-сайта.
Веб-сайт устанавливает нового повара сеанса ie для каждого запроса, поэтому, чтобы оставаться в системе, мне нужно чтобы использовать ie jar.
Вот пример того, как использовать ie jar-повар из полученной документации:
const {promisify} = require('util');
const got = require('got');
const {CookieJar} = require('tough-cookie');
(async () => {
const cookieJar = new CookieJar();
const setCookie = promisify(cookieJar.setCookie.bind(cookieJar));
await setCookie('foo=bar', 'https://example.com');
await got('https://example.com', {cookieJar});
})();
Однако в моем случае, потому что Cook ie сбрасывается после каждого запроса, и запросы могут быть сделаны в любое время из многих разных областей моего скрипта. Я определил свой cook ie jar как глобальную переменную, например: global.cookieJar = new CookieJar();
.
Однако я не могу передать глобальную переменную функции got()
. В документации Got показано, как передать файл cook ie jar функции got()
, заключив его в фигурные скобки. Следовательно, я должен иметь возможность передавать переменную, например: await got('https://example.com', {global.cookieJar})
. Но если переменная в фигурных скобках содержит .
() javascript, выдает SyntaxError: Unexpected token '.'
и не позволяет выполнить код.
Как я могу передать global.cookieJar
в got()
без синтаксической ошибки?