我正在用nodejs创建一个测试应用程序,该应用程序发送HTTP发布请求以登录到我的Web应用程序。我的Web应用程序返回成功发布后创建的新sessionID(有效用户)。但是,下次我在其标头请求中使用SessionID时,它将为该请求启动一个新会话。
我该如何设置cookie头的格式,以便我的应用程序不开始新的会话?
注意:这是一个服务器到服务器的事务,我使用nodejs进行测试,因为在不久的将来,我将有一些脚本请求访问我的Web应用程序并且没有浏览器。
var http = require('http');
var request = require('request');
request.post(//trying to post to the login and start a new session
'http://localhost:9000/users/loginForSessionID',
{
json: {
Email: ***,
PassWord: ***
}
},
(error, res, body) => {
if (error) {
console.error(error)
return
}
console.log(`statusCode: ${res.statusCode}`)
var options = {
port: 9000,
path: 'http://localhost:9000/test2',
method: 'GET',
headers: { 'Cookie': body.Identity;}//value holding sessionID
}
http.get(options, function (response) {//a get request to my server
response.setEncoding('utf8')
response.on('data', console.log)
response.on('error', console.error)
});
}
)
这给了我输出: 82A04lZdDzlYZ0hqJhohLYUvg8TFFtGx lpgpe2RSPKzDcrrLtDB_kwdTqw7_kf5 显然不是相同的键/会话。
我正在关注How do I create a HTTP Client Request with a cookie?
上的这篇文章但是还没有获得状态填充会话并保持相同的会话。