node.js - Puppeteer - 如何使用代理浏览 google.com?
问题描述
我正在尝试使用代理使用 puppeteer 浏览 google.com,但 Chromium 似乎阻止了我。
代码示例:
const puppeteer = require('puppeteer');
(async() => {
const proxyUrl = 'http://gate.smartproxy.com:7000';
const username = 'xxxxx';
const password = 'xxxxx';
const browser = await puppeteer.launch({
args: [`--proxy-server=${proxyUrl}`],
headless: false,
});
const page = await browser.newPage();
await page.authenticate({ username, password });
await page.goto('https://google.com/');
const html = await page.$eval('body', e => e.innerHTML);
console.log(html);
await browser.close();
})();
错误:
(node:6673) UnhandledPromiseRejectionWarning: Error: net::ERR_TUNNEL_CONNECTION_FAILED at https://google.com/...
我已经在代理端进行了检查,他们正在工作。
如果 puppeteer 无法实现(因为他们使用的是 Chromium),那么您对如何使用代理浏览 Google 有其他想法吗?
谢谢,
解决方案
尝试用 http 替换 https,并咨询代理服务,看看他们有什么文件或他们可以提供什么建议。或者,找出它是什么类型的代理以及它的正常行为方式,并为我们提供更多信息。
推荐阅读
- python - 在 python 中执行但在 sql 终端中没有执行时出现 SQL 错误
- node.js - 使用 Node fs.writeFile 将文件从 Google Cloud Function 写入 Firebase Storage?
- c# - 不包括特定数字的正则表达式
- c++ - 模板类型后的星号“*”是什么意思?
- typescript - 有没有办法将像 { x?: number } 这样的可选属性转换为必需的(无法定义)`{ x: undefined | 数字}`通过打字稿中的地图类型?
- python - 循环遍历numpy矩阵元素
- typescript - 检查数组中是否存在路径的最佳方法是什么?
- sql - 如何在 Oracle SQL 中收集文本字符串左侧的数据
- javascript - 如何从 textarea 长度中删除输入长度并限制两个最大限制?
- spring-boot - 为什么我的 Spring Boot 应用程序没有在 mustache 模板中呈现 messages.properties