【问题标题】:403 forbidden error raised while Initializing BrowserFetcher in PuppeteerSharp在 PuppeteerSharp 中初始化 BrowserFetcher 时引发 403 禁止错误
【发布时间】:2019-09-06 11:55:15
【问题描述】:

我试图在我的项目中使用 PuppeteerSharp 无头浏览器,但它甚至没有初始化。

var task = Task.Run(async () => 
{
    await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);
    var browser = await Puppeteer.LaunchAsync(new LaunchOptions
    {
        Headless = false
    });
    var page = await browser.NewPageAsync();
    await page.SetUserAgentAsync("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36");
    await page.GoToAsync("https://resanehlab.com");
    html = await page.GetContentAsync();
});
task.Wait();

当它到达await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision); 时,会引发此异常:

远程服务器返回错误:(403) Forbidden

【问题讨论】:

  • 取决于平台。 DownloadAsync 将使用的唯一 URL 将类似于 storage.googleapis.com/chromium-browser-snapshots/Win_x64/…。也许您无法访问该 URL?如果没有,Puppeteer 在哪个平台上运行?
  • @hardkoded 哦,我明白了,googleapis.com 限制了来自我国家的 IP。感谢您的帮助。
  • 对我来说,这个问题似乎与使用 .net core 3.0 或更高版本有关。如果我使用 BrowserFetcher 或 ExecutablePath,我会得到相同的 403 错误。然而,在这两种情况下,使用 .net core 2.X 似乎都可以正常工作。

标签: c# puppeteer puppeteer-sharp


【解决方案1】:

您可能无法访问https://storage.googleapis.com/chromium-browser-snapshots/Win_x64/674921/chrome-win.zip
如果您无法访问该 URL,您可以尝试手动下载 Chromium 77(或更高版本),并使用 ExecutablePath 属性设置 Chromium 应用位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多