Ale*_*lii 10 headless ssl-certificate chromium google-cloud-functions puppeteer
我尝试访问的网站有 ssl证书错误
我正在使用这个版本的 puppeteer "puppeteer": "1.13.0"
。
当我尝试时,仅在谷歌云await page.goto('http://bad_ssl_certificate_website')
上出现超时错误。
超时错误:超出导航超时:
然而,它在 MAC本地运行得非常好。
我认为问题出在我的网站的 ssl-certificate-errors 上,因为如果我尝试使用“google.com”,它在两种环境中都可以正常工作。我使用https://www.sslshopper.com来检查 ssl 证书,它提到了这一点。
并非所有 Web 浏览器都信任该证书。您可能需要安装中间/链证书以将其链接到受信任的根证书。了解有关此错误的更多信息。您可以按照适用于您的服务器平台的 DigiCert 证书安装说明来修复此问题。请注意有关中级证书的部分。
当我使用旧版本的puppeteer时,我在本地也遇到了问题。我看到了完全相同的错误
“超时错误:超出导航超时:”
更新到最新版本的 puppeteer 修复了仅在本地运行 puppeteer 的问题,但尚未修复在google cloud上运行的 puppeteer
这就是我安排木偶师吃午饭的方式。
const browser = await puppeteer.launch({
headless: true,
ignoreHTTPSErrors: true,
args: [
"--proxy-server='direct://'",
'--proxy-bypass-list=*',
'--disable-gpu',
'--disable-dev-shm-usage',
'--disable-setuid-sandbox',
'--no-first-run',
'--no-sandbox',
'--no-zygote',
'--single-process',
'--ignore-certificate-errors',
'--ignore-certificate-errors-spki-list',
'--enable-features=NetworkService'
]
});
Run Code Online (Sandbox Code Playgroud)
我发现了一些相关问题: https://bugs.chromium.org/p/chromium/issues/detail ?id=877075
小智 7
只需交 .IgnoreHTTPSErrors = True
入LaunchAsync
构造函数即可。
例子:
await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);
var browser = await Puppeteer.LaunchAsync(new LaunchOptions()
{
Headless: true,
IgnoreHTTPSErrors: true
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16847 次 |
最近记录: |