Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 木偶演员通过IP连接_Javascript_Puppeteer - Fatal编程技术网

Javascript 木偶演员通过IP连接

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

我有一个问题,通过IP连接到某些网站。我使用Docker安装Google Chrome,然后使用
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
标头出现报告错误,我必须使用主机标头,否则它无法连接:/