【问题标题】:ENOTFOUND error with express.js (nodejs)express.js(nodejs)的ENOTFOUND错误
【发布时间】:2015-05-20 14:02:24
【问题描述】:

每当我尝试使用我的 nodejs express 服务器重定向到另一个网页(例如 google.com)时,它都会返回以下错误:

  throw er; // Unhandled stream error in pipe.
        ^
Error: getaddrinfo ENOTFOUND google.com
at errnoException (dns.js:44:10)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:94:26)

我已经尝试了许多在 SO(例如 Node.js getaddrinfo ENOTFOUND)上找到的不同解决方案。甚至我在 node.js(例如https://nodejs.org/api/http.html#http_http_get_options_callback)网站上找到的那些也不起作用。 现在我正在尝试最简单的版本:

var express = require('express');
var app = express();

var request = require('request');
app.get('/', function(req,res) {

     var newurl = 'http://google.com/';
     request(newurl).pipe(res);
 });
 app.listen(1337);

或者这个

var request = require('request');
request('http://www.google.com', function (error, response, body) {
    if (!error && response.statusCode == 200) {
        console.log(body) // Show the HTML for the Google homepage.
    } else {
        console.log(error, response, body);
    }
});

【问题讨论】:

  • 为我工作。你在哪里运行它?难道是那个服务器的限制?
  • 我在办公室笔记本的本地主机上运行它
  • 如果你使用http://www.google.comhttps://www.google.com会发生什么?

标签: javascript node.js express proxy reverse-proxy


【解决方案1】:

显然内部网络限制限制了外部调用。

var request = require('request').defaults({'proxy': 'http://myproxy:1234/'});

解决了问题

【讨论】:

    猜你喜欢
    • 2018-05-24
    • 2016-04-20
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    • 1970-01-01
    • 2014-06-09
    • 2017-10-16
    • 2017-11-10
    相关资源
    最近更新 更多