节点请求keepAlive与多个代理请求

时间:2018-06-22 11:13:47

标签: node.js api proxy get request

我必须从API中获取数据,这些数据有一定限制。那就是为什么我需要使用代理。我用auth购买了3个代理。要获取数据,我使用节点request库,但是如果有人向我提出更好的方法-我将使用它。我制作了中间件,该中间件通过代理发出请求:

_getAPI(url, connection) { // eslint-disable-line
  return new Promise((resolve) => {
    // const options = Object.assign(connection, { path: url });
    const timer = timeEpoch();
    request({ url: url, proxy: connection}, (error, response, body) => {
      console.log(`Done ${ timeEpoch() - timer }ms`);
      if (!error && response.statusCode === 200) {
        const data = JSON.parse(body);
        if (data.Response === 'Error') {
          console.log('------- Error');
          console.log(data);
          resolve({});
        }
        resolve(data);
      } else {
        if (error && this.env !== 'production') {
          console.log('------- error');
          console.log(error);
        }
        resolve({});
      }
    });
  });
}

一切正常。但是响应时间看起来更长一些。我认为这是因为每次请求时我都会建立新的代理连接。如何为所有代理连接设置keepAlive

0 个答案:

没有答案