新人求助,现在在node上用superagent发送请求访问几个端口,需要将第一个请求获取到的cookie保存下来,让后面的请求继续使用,正好在官方文档发现这个库里面有专门的agent()方法,但是官方文档给出的例子看不太明白
const agent = request.agent();
agent
.post('URL')
.then(() => {
return agent.get('/cookied-page');
});
试了下打印agent好像结果都是cookiejar对象?所以想请教一下这个/cookied-page是什么....现在我想要将请求返回的cookie保存在一个全局变量中该怎么写呢
意思是说你用agent对象发的请求会保留cookie。
/cookied-page
只是一个示例url,你换成https://segmentfault.com/
也行。request.agent()
返回的对象是request
的copy(备份),所以使用API与request一样,原来request.post('/api/pet')
改成使用agent.post('/api/pet')
即可,agent会保存cookie,下次发请求时会带上。比如你先登录:
之后
agent
再发请求时会带上用户信息相关的cookieloginToken
。读取agent中cookie的方法文档没写,看了下源码是用的cookiejar这个包,大概是
agent.jar.getCookie("loginToken", { path: "/" }).value
。