本文小编为大家详细介绍“微信小程序模拟cookie如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序模拟cookie如何实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
现有系统已经有一套完整的接口,用户状态、验证都是基于cookie的。
部分业务要上小程序版本,众所周知,微信小程序不支持cookie的。要上线的业务,最好的方式还是基于现有这套接口做,改动不大,也最快。
通过浏览器的开发工具,Network栏查看请求,浏览器中的cookie会携带在每个http的Request Headers里面,用Cookie作为键名。
那么,在微信官方请求方式wx.request中,我们设置header,添加一个Cookie应该可以得以模拟。
问题又来了,怎么获取到服务器返回的cookie呢。
通过登录接口(登录的时候,服务器端会植入 cookie 作为 session),查看http返回头。
拿到cookie存入本地中,下次请求数据的时候直接塞进去,完美。
原本以为cookie只需要一进一出就可以完美模拟,实际操作才发现,携带上去的cookie服务器无法识别。
服务器返回的cookie中,会携带上很多储存用的字段,例如path=/;
妈耶~要怎么过滤呢。
简单粗糙的写了一个过滤方案。
csrfToken是接下来配合Egg.js用的,Path=/;在某些应用下会是path=/;
normalizeUserCookie主要是过滤了xx=xxx;这样的数据,然后排除path=/;这样无意义的数据。
在登录接口的时候,存上cookie,在接下来的请求中带上,那么,应该、没错、可能、可以模拟了。
Egg.js虽然可以在配置中关闭CSRF,但是,如果一定要使用呢?
首先,要弄明白一件事,csrfToken怎么来的。
经过多次验证得知,当http请求时,在约定位置没有携带上csrfToken值,此次请求会在返回的cookie中携带上一个新的csrfToken;当本次请求已携带上值,就不会产生成csrfToken。当约定位置带上的csrfToken与cookie里面的csrfToken一致时,通过验证。
接上面的格式化用户需要的 cookie操作,先抛开csrfToken单独处理用户状态等。
在每次请求结束后,试着单独拿cookie中可能存在的csrfToken,有值就缓存,没值跳过用旧值免费云主机域名。
本次小程序是基于wepy的,所以使用了优化后的wepy.request;
基于Egg.js的版本。
可能与实际开发有点出入,适当修改。读到这里,这篇“微信小程序模拟cookie如何实现”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。
这篇文章主要介绍“Python怎么实现摄像头实时换脸”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python怎么实现摄像头实时换脸”文章能帮助大家解决问题。python3.9.6pycharm 2021库环境:dli…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。