我正在尝试使用 node.js 请求从我们使用的网络服务器获取页面。我从上一个请求的结果中检索cookie,现在尝试将它们作为请求参数发送到个人资料页面。
var request = require('request'),
fileCookieStore = require('tough-cookie-filestore');
var j = request.jar(new fileCookieStore("./cookie.json"));
var options = {
url : 'http://example.com/site/page.php?u=1234',
jar : j,
headers : {
"User-Agent":"user_agent"
}
};
request(options, function(err,res,body) {
if(err){
console.log(err);
return;
}
console.log('body');
});
cookie 文件看起来像这样:
[{
"domain": "www.example.com",
"expirationDate": 1482144640.897115,
"hostOnly": true,
"httpOnly": true,
"name": "password",
"path": "/",
"secure": false,
"session": false,
"storeId": "0",
"value": "8ff31b0edcf85b72b20469044dafc373",
"id": 1
},
{
"domain": "www.example.com",
"hostOnly": true,
"httpOnly": true,
"name": "sessionhash",
"path": "/",
"secure": false,
"session": true,
"storeId": "0",
"value": "13d0e4ff1bdeefbe118df4ad04c81a2e",
"id": 2
}]
而且没有运气。控制台日志中的正文显示我仍未登录。我该怎么做?
尝试传递 j 对象,即您在下一个请求中在 jar 方法中传递的对象。我在工作中也做了类似的事情
来自请求网站:
jar - If true, remember cookies for future use (or define your custom cookie jar; see examples section)
https://github.com/request/request
我是一名优秀的程序员,十分优秀!