页面上未批准身份验证弹出窗口。身份验证

问题描述 投票:0回答:0

我正在尝试使用 Linux 上的 Azure Functions 在网站上执行 Web 爬网。该网站需要从 ADFS 进行身份验证,因此我需要登录。具体来说,当访问该网站时,会出现一个 Windows 身份验证弹出窗口,要求输入用户名和密码。我想使用 page.auth(page.authenticate({'username':'XXXX', 'password': 'XXXX'}); 处理此身份验证,但它似乎返回 401 响应(用户名和密码是正确的)。有没有正确的方法来使用 page.authenticate 来达到这个目的?如果还有其他方法,请告诉我。

我也在使用 headless: true 设置。这可能与 401 响应有关吗?我还没有确认,因为很难用 headless: false 来测试。

我已经测试了使用和不使用 page.authenticate 的过程,在这两种情况下,我都收到了 401 响应。

举个例子 该网站是私人的,无法提供。我们找不到具有类似环境的站点。

 const puppeteer = require("puppeteer");

(async () => {
    const browser = await puppeteer.launch({
        args: ["--disable-gpu',
        '--disable-dev-shm-usage',
        '--disable-setuid-sandbox',
        '--no-first-run',
        '--no-sandbox',
        '--no-zygote',
        '--single-process"],
        headless: true,
        ignoreHTTPSErrors: true
    });
    const page = await browser.newPage();
    await page.authenticate({'username':'XXXX', 'password': 'XXXX'});
    await page.goto("https://www.xxxxxxx.com");

    await browser.close();
})();
puppeteer adfs
© www.soinside.com 2019 - 2024. All rights reserved.