Node.js使用puppeteer调用Http代理IP的代码样例
站大爷
官方
2024-01-20
1501 浏览
温馨提示:
1. 运行环境要求: node7.6.0或以上 + puppeteer
2. 请先安装puppeteer: npm i puppeteer
终端IP授权
// 引入puppeteer模块
const puppeteer = require('puppeteer');
// 要访问的目标网页
const url = 'http://example.com';
// 添加headers
const headers = {
'Accept-Encoding': 'gzip' // 使用gzip压缩让数据传输更快
};
// 代理服务器ip和端口
let proxy_ip = '159.138.141.125'
let proxy_port = 13916
(async ()=> {
// 新建一个浏览器实例
const browser = await puppeteer.launch({
headless: false, // 是否不显示窗口, 默认为true, 设为false便于调试
args: [
`--proxy-server=${proxy_ip}:${proxy_port}`,
'--no-sandbox',
'--disable-setuid-sandbox'
]
});
// 打开一个新页面
const page = await browser.newPage();
// 设置headers
await page.setExtraHTTPHeaders(headers);
// 访问目标网页
await page.goto(url);
})();
用户名密码授权
// 引入puppeteer模块
const puppeteer = require('puppeteer');
// 要访问的目标网页
const url = 'http://example.com';
// 添加headers
const headers = {
'Accept-Encoding': 'gzip' // 使用gzip压缩让数据传输更快
};
// 代理服务器ip和端口
let proxy_ip = '123.198.130.141'
let proxy_port = 19832
// 用户名密码授权
const username = 'username';
const password = 'password';
(async ()=> {
// 新建一个浏览器实例
const browser = await puppeteer.launch({
headless: false, // 是否不显示窗口, 默认为true, 设为false便于调试
args: [
`--proxy-server=${proxy_ip}:${proxy_port}`,
'--no-sandbox',
'--disable-setuid-sandbox'
]
});
// 打开一个新页面
const page = await browser.newPage();
// 设置headers
await page.setExtraHTTPHeaders(headers);
// 用户民密码认证
await page.authenticate({username: username, password: password});
// 访问目标网页
await page.goto(url);
})();