Javascript 木偶演员通过IP连接
我有一个问题,通过IP连接到某些网站。我使用Docker安装Google Chrome,然后使用Javascript 木偶演员通过IP连接,javascript,puppeteer,Javascript,Puppeteer,我有一个问题,通过IP连接到某些网站。我使用Docker安装Google Chrome,然后使用puppeter.connect()连接到当前实例: 此外,我还尝试如下设置主机标题: await page.setRequestInterception(true) page.on('request', request => { const headers = request.headers() headers['host'] = 'www.skillshare.com' r
puppeter.connect()连接到当前实例:
此外,我还尝试如下设置主机
标题:
await page.setRequestInterception(true)
page.on('request', request => {
const headers = request.headers()
headers['host'] = 'www.skillshare.com'
request.continue({ headers })
})
标题:
{
host: 'www.skillshare.com',
'user-agent': '<looooong string>'
}
Error: net::ERR_INVALID_ARGUMENT at http://104.20.0.109
at navigate (/app/node_modules/puppeteer/lib/FrameManager.js:120:37)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async FrameManager.navigateFrame (/app/node_modules/puppeteer/lib/FrameManager.js:94:17)
at async Frame.goto (/app/node_modules/puppeteer/lib/FrameManager.js:406:12)
at async Page.goto (/app/node_modules/puppeteer/lib/Page.js:672:12)
-- ASYNC --
at Frame.<anonymous> (/app/node_modules/puppeteer/lib/helper.js:111:15)
at Page.goto (/app/node_modules/puppeteer/lib/Page.js:672:49)
at Page.<anonymous> (/app/node_modules/puppeteer/lib/helper.js:112:23)
at c.<anonymous> (/app/build/bundle.min.js:1:3204)
at /app/build/bundle.min.js:1:1256
at Object.next (/app/build/bundle.min.js:1:1361)
at n (/app/build/bundle.min.js:1:107)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
注意:
{
host: 'www.skillshare.com',
'user-agent': '<looooong string>'
}
Error: net::ERR_INVALID_ARGUMENT at http://104.20.0.109
at navigate (/app/node_modules/puppeteer/lib/FrameManager.js:120:37)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async FrameManager.navigateFrame (/app/node_modules/puppeteer/lib/FrameManager.js:94:17)
at async Frame.goto (/app/node_modules/puppeteer/lib/FrameManager.js:406:12)
at async Page.goto (/app/node_modules/puppeteer/lib/Page.js:672:12)
-- ASYNC --
at Frame.<anonymous> (/app/node_modules/puppeteer/lib/helper.js:111:15)
at Page.goto (/app/node_modules/puppeteer/lib/Page.js:672:49)
at Page.<anonymous> (/app/node_modules/puppeteer/lib/helper.js:112:23)
at c.<anonymous> (/app/build/bundle.min.js:1:3204)
at /app/build/bundle.min.js:1:1256
at Object.next (/app/build/bundle.min.js:1:1361)
at n (/app/build/bundle.min.js:1:107)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
我用puppeter.launch()
进行了测试,结果成功了,但我需要它用puppeter.connect()
来工作。我也可以通过域轻松连接,但IP不起作用
错误:
{
host: 'www.skillshare.com',
'user-agent': '<looooong string>'
}
Error: net::ERR_INVALID_ARGUMENT at http://104.20.0.109
at navigate (/app/node_modules/puppeteer/lib/FrameManager.js:120:37)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async FrameManager.navigateFrame (/app/node_modules/puppeteer/lib/FrameManager.js:94:17)
at async Frame.goto (/app/node_modules/puppeteer/lib/FrameManager.js:406:12)
at async Page.goto (/app/node_modules/puppeteer/lib/Page.js:672:12)
-- ASYNC --
at Frame.<anonymous> (/app/node_modules/puppeteer/lib/helper.js:111:15)
at Page.goto (/app/node_modules/puppeteer/lib/Page.js:672:49)
at Page.<anonymous> (/app/node_modules/puppeteer/lib/helper.js:112:23)
at c.<anonymous> (/app/build/bundle.min.js:1:3204)
at /app/build/bundle.min.js:1:1256
at Object.next (/app/build/bundle.min.js:1:1361)
at n (/app/build/bundle.min.js:1:107)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error:net::ERR\u处的参数无效http://104.20.0.109
导航(/app/node\u modules/puppeter/lib/FrameManager.js:120:37)
在处理和拒绝时(内部/process/task_queues.js:97:5)
在async FrameManager.navigateName(/app/node_modules/puppeter/lib/FrameManager.js:94:17)
异步Frame.goto(/app/node_modules/puppeter/lib/FrameManager.js:406:12)
异步Page.goto(/app/node_modules/puppeter/lib/Page.js:672:12)
--异步的--
在画面上
更新:
{
host: 'www.skillshare.com',
'user-agent': '<looooong string>'
}
Error: net::ERR_INVALID_ARGUMENT at http://104.20.0.109
at navigate (/app/node_modules/puppeteer/lib/FrameManager.js:120:37)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async FrameManager.navigateFrame (/app/node_modules/puppeteer/lib/FrameManager.js:94:17)
at async Frame.goto (/app/node_modules/puppeteer/lib/FrameManager.js:406:12)
at async Page.goto (/app/node_modules/puppeteer/lib/Page.js:672:12)
-- ASYNC --
at Frame.<anonymous> (/app/node_modules/puppeteer/lib/helper.js:111:15)
at Page.goto (/app/node_modules/puppeteer/lib/Page.js:672:49)
at Page.<anonymous> (/app/node_modules/puppeteer/lib/helper.js:112:23)
at c.<anonymous> (/app/build/bundle.min.js:1:3204)
at /app/build/bundle.min.js:1:1256
at Object.next (/app/build/bundle.min.js:1:1361)
at n (/app/build/bundle.min.js:1:107)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
据我所知,没有办法设置主机,所以这个问题可能没有答案。请确保使用--远程调试端口=9222
启动chrome实例,让puppeter.connect()
连接到浏览器
编辑:我看到您已经在使用此标志
如果它不能解决你的问题:考虑通过连接而不是<代码> BurSerURL</代码> .< /P>你是否通过DOCKER?我想你需要
--远程调试端口9222
@D.Pardal,我已经有了这个标记,仅供参考,你可以使用chrome launcher在代码中启动chrome,有一个很好的例子,带有选项和websocket连接。我刚刚尝试通过websocket端点连接,但仍然不起作用:|它抛出的确切错误消息是什么,或者如果没有错误,那么:有任何明显的不工作的视觉迹象吗?如果您临时删除该行wait page.setExtraHTTPHeaders({host:'www.skillshare.com'})
?当通过IP连接时,通过setExtraHTTPHeaders
设置的host
标头出现报告错误,我必须使用主机标头,否则它无法连接:/