【问题标题】:script not working when executed from hosted server从托管服务器执行时脚本不起作用
【发布时间】:2021-01-20 03:15:31
【问题描述】:

我有这个脚本在从 Visual Studio Code 终端执行时可以正常工作,但是当它从我的托管网站服务器(A2 托管)执行时,我收到以下错误。这是我的脚本,几乎就是我从网站上得到的示例。

const chromeLauncher = require('chrome-launcher');
const axios = require('axios');
const puppeteer = require('puppeteer');

(async () => {
  // Initializing a Chrome instance manually
  const chrome = await chromeLauncher.launch({
    port: 7822,
    chromeFlags: ['--headless']
  });
  const response = await axios.get(`http://localhost:${chrome.port}/json/version`);
  const { webSocketDebuggerUrl } = response.data;

  // Connecting the instance using `browserWSEndpoint`
  const browser = await puppeteer.connect({ browserWSEndpoint: webSocketDebuggerUrl });

  //await browser.close();
  await chrome.kill();
})();

我感觉我的问题与“localhost”有关,从托管服务器执行时使用它似乎没有意义,但我不确定我可以用什么代替。 这是我得到的错误:

(节点:9737)UnhandledPromiseRejectionWarning:错误:解析错误: 预期的 HTTP/ 在 Socket.socketOnData (_http_client.js:509:22) 在 Socket.emit (events.js:314:20) 在 addChunk (_stream_readable.js:307:12) 在 readableAddChunk (_stream_readable.js:282:9) 在 Socket.Readable.push (_stream_readable.js:221:10) 在 TCP.onStreamRead (internal/stream_base_commons.js:188:23) (node:9737)

提前谢谢,这几天我一直在努力解决这个问题。

【问题讨论】:

    标签: node.js puppeteer


    【解决方案1】:

    显然,您不能将 puppeteer 与他们的基本托管计划一起使用。我在 a2hosting 上的 puppeteer 也有问题,但有不同的错误:

    FATAL:zygote_host_impl_linux.cc(117)] 没有可用的沙箱!

    并禁用沙盒-

    发生错误无法启动浏览器进程! [0118/202801.621209:ERROR:bus.cc(393)] 连接总线失败: 无法连接到套接字/run/dbus/system_bus_socket:没有这样的文件 或目录 [0118/202801.621276:ERROR:platform_thread_posix.cc(135)] pthread_create:资源暂时不可用(11)

    我联系了支持人员,他们说:

    这些错误与您存在的限制有关 现有的托管计划;您需要一个 VPS 才能正确托管 Puppeteer 申请https://www.a2hosting.com/vps-hosting/managed

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多