Javascript API服务器登录后出现401错误
我已经在meteorjs中使用以下代码成功登录到API服务器Javascript API服务器登录后出现401错误,javascript,node.js,meteor,Javascript,Node.js,Meteor,我已经在meteorjs中使用以下代码成功登录到API服务器 var request = Npm.require('request'); request('http://api-server-link-here', { 'auth' : { 'user': 'username', 'pass': 'password', 'sendImmed
var request = Npm.require('request');
request('http://api-server-link-here',
{
'auth' : {
'user': 'username',
'pass': 'password',
'sendImmediately': false
}
}
, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(response);
}
但在这次登录之后,当我使用下面的代码进行搜索查询时。我得到Http状态401错误
var request = Npm.require('request');
request("http://search-query-link-here",
{
//search query parameters are here
},
function(error,response,body){
console.log(response);
});
谁能告诉我为什么会发生这个问题。或者如果这是可能的,我在这里得到一个工作的例子
这里还需要说明的一件事是,我正在使用摘要身份验证进行登录 显然,很难为未知API提供一个工作示例 但是让我们试着解决它。从逻辑上讲,当您发送搜索查询时,您应该确定自己的身份。大多数公共API服务器使用令牌(很可能)或会话cookie来授权对资源的访问。因此,每当您执行第二个(搜索)请求时,您要么提供令牌,要么发送从第一个(登录)请求获得的cookie 长话短说,验证API服务器正在使用哪种机制
- 如果是令牌:检查登录请求的响应主体;很可能在API调用的
头中会有一个访问令牌,在请求选项中:Authorization
李>头:{'Authorization':'Bearer…}
- 如果是会话:请确保在登录时启用了cookie jar,并为后续请求启用它: