使用请求模块发送请求时,会引发套接字挂起错误

时间:2016-06-02 06:39:51

标签: node.js request

我遇到了一个非常棘手的情况,这是故事:

使用请求模块的代码将始终抛出[Error: socket hang up] code: 'ECONNRESET',相反,使用http / urllib模块就可以了〜 注意:我试图将Node版本从0.12.x切换到5.x,甚至重新启动我的机器,但没有运气,结果相同。

const http = require('http');
const co = require('co');
const Q = require('q');
const request = require('request');
const urllib = require('urllib');
// const coRequest = require('co-request');

const URL = 'http://www.google.com';

co(function*() {
  try {
    http.get(URL, (res) => {
      console.log('res statusCode', res.statusCode);
    });
  } catch(err) {
    console.error('thrown from http', err);
  }

  try {
    yield Q.nfcall(request, URL);
  } catch(err) {
    console.error('thrown from request', err);
  }

  try {
    const res = yield Q.ninvoke(urllib, 'request', URL);
    console.log(res[1].statusCode);
  } catch(err) {
    console.error('thrown from urllib', err);
  }

}).catch(err => {
  console.error('error', err);
})

截图:

image

有什么想法吗?

我应该做一些清理,就像一个损坏的套接字文件描述符?

0 个答案:

没有答案