Передача страницы повторной аутентификации с Cheerio и Node.js - PullRequest
0 голосов
/ 22 октября 2018

Я работаю над задачей, которая использует cheerio для захвата некоторого содержимого страницы и показа в другом приложении.

Захваченный мною сайт аутентифицирован (фактически консоль), и у меня есть имя пользователя и пароль, для этого я использую пакет request-обещание npm, чтобы помочь мне в этой логике.Это работает хорошо в большинстве случаев, но не работает, потому что некоторые маршруты не возвращали содержимое страницы через HTTP-метод Get, но перенаправляли / возвращались на страницу, которая требовала от меня повторного ввода имени пользователя и пароля, и затем он перенаправлялна страницу, которую я хочу. Поэтому мне интересно, как я могу пройти страницу повторной аутентификации напрямую и получить содержимое, которое я хочу.

Вот мои примеры кода:

    function req(url) {
        return rp({ // request-promise
            uri: `${url}`,
            auth: {
                username,
                password,
                sendImmediately: true
            },
            method: "GET"
        });
    }

     const [pageA, pageB] = await Promise.all([
            req('pageAUrl').then(JSON.parse).then(...),
            req('pageBUrl').then(JSON.parse).then(...)
        ]);

        let $ = cheerio.load(pageA); // when I load Page A, I find the http returns the reauthentication Page require input password and username again!

        $ = cheerio.load(pageB);  // page B works correctly!

любая помощь приветствуется!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...