我的端口8123上的本地Apache'httpd'服务器正在运行。

当我说“ telnet 127.0.0.1 8123”时有效,而“ curl 127.0.0.1:8123”也有效。甚至http服务器也可以通过浏览器运行。但是当我使用Node.js发出http请求时,它失败了。

我写的代码:

var options = {
    host: '127.0.0.1:8123',
    path: '/test',
    method: 'GET'
};
var callback = function(response) {
// Logs written here.
};
var req = http.request(options, callback);
req.on('error', function(e) { console.log('problem with request: ' + e.message); });
req.end()


当我将其作为“ node test.js”执行时,它会引发错误:-“请求的问题:getaddrinfo ENOTFOUND”

我不了解我的Node.js无法解析到我自己的本地服务器。任何帮助表示赞赏。谢谢

最佳答案

您是否尝试过按照文档中的说明在选项中分离端口? http://nodejs.org/api/http.html#http_http_request_options_callback

编辑:而且似乎使用hostname代替host为您的主机的ip /域是一个首选约定:

var options = {
    hostname: '127.0.0.1',
    port: 8123,
    path: '/test',
    method: 'GET'
};

09-17 04:05