express.js 的 ENOTFOUND 错误(nodejs)
ENOTFOUND error with express.js (nodejs)
每当我尝试使用我的 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) already. Not even the ones I found on the 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);
}
});
显然内部网络限制限制了外部调用。
var request = require('request').defaults({'proxy': 'http://myproxy:1234/'});
解决了问题
每当我尝试使用我的 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) already. Not even the ones I found on the 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);
}
});
显然内部网络限制限制了外部调用。
var request = require('request').defaults({'proxy': 'http://myproxy:1234/'});
解决了问题