node.js服务请求一个安全的网站

时间:2012-10-24 14:44:21

标签: javascript node.js request connect

我想要求或更好地从第三方网站提取数据并解析后面的信息。解析不是这里的主题。我对自动请求感兴趣。我有哪些选择以及如何处理安全事件(身份验证,授权)。

我有一个简单的节点服务器只使用connect。我还使用npm模块“request”来处理我对第三方网站的请求。我还有一个网址和用户名和密码。但是我没有太多信息,第三方网站是在tomcat上运行的JSP(XSP)Web应用程序,它在登录后放置了一个JSESSIONID。 我尝试添加标题“Authorization”:“Basic”,用户:密码为byte64,但不起作用。还有其他选择吗?

感谢您提出任何意见和建议..

1 个答案:

答案 0 :(得分:1)

首先找到登录表单发布到的URL,以及用户名/密码字段的名称。有了这些信息,您可以模拟流程(使用request):

var cookies = request.jar();

request({
   url: 'http://whatever.com/ajax/signin',
   method: 'POST',
   jar: cookies,
   body: {
       username: 'user',
       password: 'pass'
   }
}, function(error, response, body) {
   // now if you use {jar: cookies} on later requests, the session
   // established by the simulated sign-in will be used.
});

在复杂的情况下,您可能需要解析包含登录表单的网页,并从表单中读出任何CSRF tokens,以将其包含在模拟帖子的正文中。