我想通过身份验证来使用这个rest api.我正在尝试包含标题但没有得到任何回复.它抛出的输出通常在没有认证时抛出.谁能建议我一些解决方案.下面是我的代码
var http = require('http'); var optionsget = { host : 'localhost',// here only the domain name port : 1234,path:'/api/rest/xyz',headers: { 'Authorization': 'Basic ' + new Buffer('abc'+ ':' + '1234').toString('base64') },method : 'GET' // do GET }; console.info('Options prepared:'); console.info(optionsget); console.info('Do the GET call'); var reqGet = http.request(optionsget,function(res) { 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(e); });
解决方法
request模块将让您的生活更轻松.它现在包含一个
Basic Auth作为选项,所以你自己没有构建标题.
var request = require('request') var username = 'fooUsername' var password = 'fooPassword' var options = { url: 'http://localhost:1234/api/res/xyz',auth: { user: username,password: password } } request(options,function (err,res,body) { if (err) { console.dir(err) return } console.dir('headers',res.headers) console.dir('status code',res.statusCode) console.dir(body) })
要安装请求,请执行npm install -S request
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。