2

有没有办法在 node.js 请求模块中使用 IP 地址而不是域名?

我收到以下错误:[错误:无效的 URI “192.168.0.101/relay1/on”]

我知道我不应该包含 url 方案(例如:http),所以 http://192.168.0.101/relay1/on 也不起作用。

下面是产生错误的代码:

  var arduinoRequestURL = arduinoIp + '/' + modulePrivateName + '/' + req.params.action;
  request(arduinoRequestURL, function (error, response, body) {
      console.log(body);
      console.log(error);
      console.log(response);
  });

这是模块的链接: https ://github.com/mikeal/request

4

1 回答 1

1

是的你可以。您还必须指定请求的协议。

request('google.com', function (error, response, body) {
      console.log(body);
      console.log(error);
      console.log(response);
});

给出 [错误:无效的 URI “google.com”]

以下是等价的:

request('http://google.com', function (error, response, body) {
      console.log(body);
      console.log(error);
      console.log(response);
});
request('http://74.125.236.18', function (error, response, body) {
      console.log(body);
      console.log(error);
      console.log(response);
});
于 2013-04-30T19:38:04.787 回答