API服务器在登录后给出401错误
API Server giving 401 error after login
我已经成功登录到API服务器使用以下代码在meteorjs
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
头中发送一个访问令牌:headers: {'Authorization': 'Bearer ...'}
在你的请求选项中; - 如果是会话:确保在登录时启用cookie罐,并在后续请求时启用:https://github.com/mikeal/request#requestjar
相关文章:
- 与域在同一台计算机上运行的NODEJS服务器的CORS错误
- 错误:自动化服务器可以't创建对象
- SignalR:调用集线器方法时出现内部服务器错误
- 如何解决“;错误所请求的URL返回500-内部服务器错误”;
- 从安卓设备将图像上传到服务器时,文件扩展名错误
- 使用ajax上传的文件返回错误,但使用c#在asp.net的服务器端正常提交的文件
- NodeJS服务器在检索部分时返回505/404错误
- 使用javascript API响应内部服务器错误将曲目上传到SoundCloud
- 在浏览器中打开文本文件-服务器上出现错误
- AJAX错误状态代码500内部服务器错误
- LoadControl HttpCompileException自定义服务器控件JavaScript错误
- 错误301在web服务器上永久移动
- Python在尝试保存新的JSON文件时导致服务器错误
- Jcrop&画布:裁剪区域的大小很奇怪;500内部服务器错误
- 正在分析Meteor中的错误服务器响应
- 代码不'当上传到服务器[HTML,CSS,JS][错误:服务器停止响应]时,不会表现得很好
- Spring RequestMapping错误:服务器的响应状态为404(未找到)
- gullow因果报应测试类型错误:服务器不是一个函数
- 错误-服务器标签不能包含<% ..%比;构造
- 当图像标签id放在asp服务器控件内时,访问javascript中的图像标签id,错误:服务器标签定义不正确