我正在开发一个简单的nodejs应用程序。我正在尝试从该应用程序进行REST API调用,REST API具有基本身份验证。我收到错误“ERRORError:getaddrinfo ENOTFOUND”尝试使用stackoverflow中建议的选项,但无法使其正常工作。任何人都可以请帮助我..这是我使用的代码`
var http = require('http');
var url = 'someurl';
var username = 'username';
var password = 'password';
var optionsget = {
host: 'someurl',
method: 'GET',
auth: username + ':' + password,
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
}
};
console.log('Do the GET call');
// do the GET request
var reqGet = http.get(optionsget, function(res) {
console.log("Hii");
console.log("statusCode: ", res.statusCode);
res.on('data', function(d) {
console.info('GET result:\n');
process.stdout.write(d);
console.info('\n\nCall completed');
});
});
reqGet.end();
reqGet.on('error', function(e) {
console.error("ERROR" +e);
});
提前致谢
问候
VHC
答案 0 :(得分:0)
www.google.com
不是有效的网址。浏览器允许您键入它(这往往会让人们认为它应该适用于所有情况),但这只是因为在幕后,浏览器猜测您打算键入http://www.google.com
。
http模块需要完全限定的URL,例如http://www.google.com
,或者它要求您在options
对象中单独指定主机和路径以及协议。但是,如果您只是要传递一个URL,那么它需要是一个完整的URL。详情请见the node.js doc。