request.session的坑
时间: 2023-09-05 08:06:45 浏览: 47
在使用request.session的过程中,可能会遇到一些坑。首先,在登录操作中,并不是所有的网站有了sessionid就可以进行业务操作,有时候会需要token。这个token并不会通过一次登录操作就直接给你,需要通过抓包来查看哪个接口的响应头中包含set-cookies信息,这个信息中可能包含了token。你可以通过s.cookies来查看是否已经有token了,如果有的话,只要调用那个接口,响应头中有set-cookies信息,就会直接写入s的cookies中。原来登录也并不是一步到位的操作。有时候在进行业务操作时,可能会遇到报错403,这时候需要注意抓包查看这时候需要的cookies长什么样,与你代码中的s的cookies是否匹配,如果缺少了某些信息,就需要像找token那样找到相应的接口调用来补上。
另外,使用session时可能会产生跨域资源共享问题。解决这个问题需要在前端请求中设置withCredentials: true。如果你使用的是axios,可以在请求中添加这个配置项来解决跨域session丢失的问题。配置示例如下:
this.$axios({
method: 'post',
url: 'http://localhost:5000/e/login',
data:{ 'fun' : 'login', "number": this.number, "password": this.password, 'radio': this.radio },
withCredentials: true //解决跨域session丢失 需前后端一同配置
})<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Vue项目和flask框架前后端分离session的坑](https://blog.csdn.net/qq_44771533/article/details/106928267)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [关于通过requests.session()来完成登录操作的踩坑](https://blog.csdn.net/weixin_47175709/article/details/129679327)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]