Flask和vue的cookie传递爬坑之旅

mac2024-03-27  32

跳坑经过

前面的界面和后端编写很顺利

到了session保持这里出现了问题,和网上的教程一样,但是为什么我的session没办法传递变量呢

起初一直怀疑是我的后端配置少了什么东西,问群里大佬,各种百度,发现网上的demo如果不结合前端,独立运行都是可以实现的

经过2天的奋斗,发现了redis(ps:我的session是放到redis中的)中每次请求都会生成一次session

然后我使用jmeter,模拟请求并保存cookie,神奇的发现什么问题都没有,redis正常了,session的传递也正常了

到了这里定位到了问题在于cookie的传递(本地没有存储cookie)

百度如何跨域请求传递cookie,引入axios时,加上一句代码

import axios from 'axios' axios.defaults.withCredentials = true

问题解决了,但是我用的是localhost(如果项目都布在一台机器的话,已经可以实现了)

旁边的大佬告诉我,如果是不同域名的话,还是会有问题,换成ip访问果然又获取不到session

大佬给的思路,后端读取加密的session ->>传递给前端,前端接收之后存到Local Storage 或者 Sission Storage中,继续去百度后端如何读取session,解决之后再来更新

后续补充

前面说到用sessionstorage存储session,很长一段时间确实没什么问题,直到我往session中放了一个变量之后,开始出现问题,有时候还是会生成一个新的session,导致获取不到里面的变量目前我是在登录的时候手动设置set-cookie和过期时间,基本解决了问题,但是没明白原理,有路过的大佬可以指点一下
最新回复(0)