我正在使用request
模块让Nodejs发出http请求,但headers
对象存在问题:该值不能包含双引号,否则将以不同方式处理。
基本上我正在调用一个API,要求headers
携带一个属性“X-Accesstoken”。
我的代码:
var userId = "123";
var url = "/users/{id}".replace("{id}", userId) ;
var token = "abcd1234"; //changed to protect the innocence, anyway it'll be the valid generated token
var options = {
method: 'GET',
url: url,
header: {
"x-Accesstoken": token
"Content-Type": "application/json"
}
};
console.log('testing ' + url);
request(options, function(error,response,body){
console.log('body:' + body);
});
我总是遇到这个错误:
body:'{
"status": 403,
"code": 0,
"reason": "Not authenticated"
}
然后,如果我使用Chrome Advanced REST API客户端,我意识到问题是由于X-Accesstoken
内的headers
中的双引号(“)
在这种情况下,如何在没有双引号的情况下发送请求标头?
更新:
header
错字是根本原因,而不是双引号或大写“X-Accesstoken”。当我使用高级REST客户端发送请求时,它将双引号作为标头值的一部分发送,从而使我的令牌无效。
答案 0 :(得分:5)
不应该是headers
而不是header
吗?
http://nodejs.org/api/http.html#http_http_request_options_callback