我想要求或更好地从第三方网站提取数据并解析后面的信息。解析不是这里的主题。我对自动请求感兴趣。我有哪些选择以及如何处理安全事件(身份验证,授权)。
我有一个简单的节点服务器只使用connect。我还使用npm模块“request”来处理我对第三方网站的请求。我还有一个网址和用户名和密码。但是我没有太多信息,第三方网站是在tomcat上运行的JSP(XSP)Web应用程序,它在登录后放置了一个JSESSIONID。 我尝试添加标题“Authorization”:“Basic”,用户:密码为byte64,但不起作用。还有其他选择吗?
感谢您提出任何意见和建议..
答案 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,以将其包含在模拟帖子的正文中。