【发布时间】:2017-06-23 06:02:44
【问题描述】:
我在抓取需要身份验证且正在使用会话 cookie 的网站时遇到问题。会话需要一个带有 POST 的请求,然后身份验证会批准。但是当我想获取需要身份验证的网页时,它会返回“未授权”。我想我需要一种方法来使用 GET 请求带来会话 cookie,但我不知道如何!我的依赖是 request-promise(https://www.npmjs.com/package/request-promise)。
代码如下:
var rp = require("request-promise");
var options = {
method: "POST",
uri: "http://website.com/login",
form: {
username: "user",
password: "pass",
},
headers: {},
simple: false
};
rp(options).then(function(response) {
console.log(response); // --> "Redirecting to login/AuthPage"
request("http://website.com/login/AuthPage", function(err, res, body) {
console.log(body); // --> "Unauthorized"
})
}).catch(function(e) {
console.log(e)
})
我猜您必须将请求放入“Jar”(https://github.com/request/request#requestjar) 中才能访问下一个请求 URL,但我如何设置请求承诺以创建 cookie-jar ?
【问题讨论】:
标签: javascript angularjs session cookies