Node.js createClient错误:errnoException处getaddrinfo OK(dns.js:31:11) 现在修好了!找不到主机,因为我在url中包含http。

Node.js createClient错误:errnoException处getaddrinfo OK(dns.js:31:11) 现在修好了!找不到主机,因为我在url中包含http。,http,node.js,Http,Node.js,我正在使用Node.js createClient进行实验,但是它只有在我将主机设置为localhost时才起作用。如果我尝试,例如http://google.com我得到下面的错误。是什么导致了这个问题,可能是防火墙问题吗 var http = require('http'); var url = require('url'); var u = require('util'); var site = http.createClient(80, "http://google.com", fal

我正在使用Node.js createClient进行实验,但是它只有在我将主机设置为localhost时才起作用。如果我尝试,例如
http://google.com
我得到下面的错误。是什么导致了这个问题,可能是防火墙问题吗

var http = require('http');
var url = require('url');
var u = require('util');

var site = http.createClient(80, "http://google.com", false);
var req = site.request("GET", "/");
req.end();
req.on('response', function(res){
  res.on('data', function(chunk){
    console.log('BODY:' + chunk);
  });
});
错误:

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: getaddrinfo OK
    at errnoException (dns.js:31:11)
    at Object.onanswer [as oncomplete] (dns.js:140:16)
Node.js process terminated

您正在创建一个HTTP请求,您应该将其
“google.com”
作为主机,而不是
http://google.com“


编辑:它不是url,这就是为什么你不把协议(http://)放在它上面,它是主机。

你正在创建一个http请求,你应该给它
“google.com”
作为主机而不是
http://google.com“

编辑:它不是一个url,这就是为什么你不把协议(http://)放在它上面,它是主机