我已使用meteorjs中的以下代码成功登录API服务器
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 Status 401错误。
var request = Npm.require('request');
request("http://search-query-link-here",
{
//search query parameters are here
},
function(error,response,body){
console.log(response);
});
有人可以指点一下为什么会出现这个问题。或者,如果有可能我在这里得到一个有效的例子?
这里需要说明的另一件事是我在摘要式身份验证的帮助下进行登录。
答案 0 :(得分:0)
显然,很难为您提供未知API的工作示例。
但我们只是试着解决它。从逻辑上讲,当您发送搜索查询时,您应该识别自己。大多数公共API服务器使用令牌(最可能)或会话cookie来授权访问资源。因此,无论何时执行第二次(搜索)请求,您都可以提供令牌或发送您从第一次(登录)请求获得的cookie。
简而言之,请确认API服务器正在使用哪种机制。
Authorization
标题中发送一个访问令牌:headers: {'Authorization': 'Bearer ...'}
在您的请求选项中;