【发布时间】:2015-07-20 03:51:26
【问题描述】:
我正在尝试使用“请求”npm 访问 API。此 API 需要标头“内容类型”和基本身份验证。这是我到目前为止所做的。
var request = require('request');
var options = {
url: 'https://XXX/index.php?/api/V2/get_case/2',
headers: {
'content-type': 'application/json'
},
};
request.get(options, function(error, response, body){
console.log(body);
}
).auth("dummyemail@abc.com","password",false);
使用 Node 执行此操作时,我收到一条错误消息,提示用户名和密码无效。我已经使用 CURL 和下面的命令验证了相同的 API、身份验证和标头,它给出了预期的 HTTP 响应。
curl -X GET -H "content-type: application/json" -u dummyemail@abc.com:password "https://XXX/index.php?/api/V2/get_case/2"
请建议使用身份验证和标头对请求进行编码的正确方法。
这是我的更新代码
var auth = new Buffer("dummy@gmail.com" + ':' + "password").toString('base64');
var req = {
host: 'https://URL',
path: 'index.php?/api/v2/get_case/2',
method: 'GET',
headers: {
Authorization: 'Basic ' + auth,
'Content-Type': 'application/json'
}
};
request(req,callback);
function callback(error, response, body) {
console.log(body);
}
我在控制台中看到“未定义”。你能帮帮我吗?
【问题讨论】: