开发微信公众号时使用 session 立马失效的原因

微信公众号开发中的用户账号绑定 阅读详情

       由于种种原因,好吧!主要也是我放假一回家就会跟在学校是两个人,在家太懒,不想学习;在校还好,会想学习。于是3月6日赶紧回校开始当初计划的1月开始要做的毕设,真的是计划赶不上变化,行胜于言啊啊啊啊!好了!废话不多说了,这次毕设做的是一个公众号,由于之前没做过所以即使功能简单的也是有点吃力,希望尽快赶完吧。做的过程问题不少,今天碰到在微信公众号服务器上设置 session 结果在本页面能取到值,在其它页面死活取不到值,真的是颠覆我以前的观念了,想了快一天也没觉哪里错了,再尝试一下,发现设置的 session 值下次会立马就失效。。。以下是百度的原因了,大致记录一下:

       我们知道,微信平台是属于被动式的应答模式,用户发送一条消息或者进行点击菜单上一个按钮,服务器收到请求后进行处理然后回应,整个过程不能超过5秒钟,结束。而要进行较复杂的需要分步骤操作的逻辑时,就需要session机制来辅助,因为我们不能要求用户像我们程序员一样在一行输入一大串参数,那样用户体验太差了,一步一步引导式的操作是最好的。

       但是因为微信的所有请求都是通过腾讯的服务器转发的,也就是说所有的请求都是从同一个服务器发来的,这样原本的session机制便失效了,就好比程序原来靠人的长相来分辨和谁在对话,然后所有人的消息都通过一个人转告时,你就无法分辨了。原本的session的识别方式好像是通过cookie,每一次会话生成一个独一无二的sessionID,浏览器的所有请求都会带上这个ID,而腾讯服务器支不支持cookie还不好说,如果不支持的话,那就相当于负责向你转告别人消息的那人是个无头幽灵。。。

       这时我们可以换个思路,因为那人在转告时会告诉你是这条消息是谁发过来的,也就是 FromUserName 参数,这是一个独一无二的openid,相当于sessionID。

微信公众平台开发教程(八)Session处理问题 在微信窗口,输入的信息有限,我们需要将一些信息分多次请求。 比如:在进行用户绑定时,我们需要输入用户的相关信息,比如:用户名、密码,或者姓名、电话号码,服务端验证通过,即可将系统用户与微信用户绑定。 然后,此微信账户就有一定的功能权限了,可以查积分,消费记录等。服务号:招商银行信用卡,就有很多功能。 微信客户端无法缓存信息,而且输入信息有限,需要进行多次请求,在服务端保存当前会话状态。这就需要Session。 本文以用户认证,绑定账号为例,来说明具体处理。 一、创建通用的Session处理机制。 为了更好的说明原理,便于扩展,我们来自己设计Session。当然,这里也可以使用System.We 立即下载

相关推荐

Windows server Database 2025 安装 i225/i226 网卡驱动

Windows server Database 2025 安装 i225/i226 网卡驱动 windows这比坏得很,intel消费级网卡不准在服务器系统上安装。你要说他是异构不支持?他就纯粹恶心人。 之前已经安装过一次,但是今天database预览版一更新,又给我把网卡驱动杀了,气死,写一篇教程。 到这里就完成了,总之还是想辱骂windows,提供便捷的同时又人为制造困难,多少有点(隔壁linux内核直接自带全家桶了就一省心) 并且近年Intel的新U安装显卡驱动和普通声卡驱动都不会出声

低温热源的博客 1万+

微信公众号开发不能使用session原因

微信公众号开发不能使用session原因 今天做微信公众号开发整合功能的时候,使用session保存记录。用postman测试好使,但是一旦用手机就不好使。上网查了好久才明白,微信开发是不能用session的。具体原因如下:因为微信的所有请求都是通过腾讯的服务器转发的,也就是说所有的请求都是从同一个服务器发来的,这样原本的session机制便失效了,就好比程序原来靠人的长相来分辨和谁在对话,然后...

mlg539的博客 1364

LightRAG实战:从零构建中药知识图谱,解锁六种检索模式效能对比

本文详细介绍了如何使用轻量级RAG框架LightRAG从零构建中药知识图谱的实战过程。通过本地部署环境搭建、开源模型配置与《本草纲目》数据导入,文章重点对比了Naive、Local、Global、Hybrid、Mix和Bypass六种检索模式在中药问答中的效能差异,并提供了可视化图谱与优化心得,为开发者构建专业领域智能问答系统提供了实用指南。

weixin_29096377的博客 176

微信session丢失,重复提交

系统开发第三方页面给微信,通过授权回调访问自己系统的页面。但是测试时发现,微信页面有几个坑。 页面定时会重新刷新。 session有时会丢失。 针对这些问题。查了很多。 后来主要参考这位小伙伴的文章:后台收到微信重复请求问题 总结一下:就是微信开发一定要用域名访问,ip+端口是不行的。 使用ip 页面跳转到自己系统里面。提示这个 输入的时候提示: ...

精确而优雅 4147

集成库仑计移动电源设计:从原理到实战,实现精准电量管理

在电池供电设备中,精准的电量计量是提升用户体验和产品可靠性的核心技术。传统基于电压估算的方法因受温度、负载和老化影响误差较大,而库仑计技术通过直接测量充放电电流并对时间积分,实现了电荷量的直接计量,从根本上提升了精度。这项技术的核心价值在于为设备提供了真实、可靠的电量状态数据,是智能电池管理系统的基础。其应用场景广泛,从消费电子如移动电源、智能穿戴,到工业与汽车领域如储能系统、新能源汽车的电池管理都不可或缺。本文以移动电源为例,深入解析了集成库仑计方案的硬件设计要点,特别是围绕高精度采样电阻与差分放大器的电

weixin_33453726的博客 548

电脑卸载神器Revo Uninstaller Pro,彻底清残留,终身无限制使用

打开软件后,它会自动扫描并列出电脑里所有已安装的程序,小到各种插件、大到专业设计软件和驱动程序,哪怕是隐藏的系统组件,都能给你扒出来,还会自动分类整理,加上搜索功能能快速定位目标软件,就算是电脑小白,也能轻松上手。卸载彻底无残留:能直接代替系统自带的 “添加 / 删除程序”,不光能正常卸载软件,还会通过内置卸载程序配合残留扫描,把软件留下的残留文件、垃圾还有注册表项都扫得明明白白,扫描强度有三档可以选,想清理得多干净都能自己定,删除之后电脑立马清爽不少。电脑用久了是不是越来越慢?

qq_75153390的博客 1742

微信平台无法使用session的解决方案(Java)

我们知道,微信平台是属于被动式的应答模式,用户发送一条消息或者进行点击菜单上一个按钮,服务器收到请求后进行处理然后回应,整个过程不能超过5秒钟,结束。而要进行较复杂的需要分步骤操作的逻辑时,就需要session机制来辅助,因为我们不能要求用户像我们程序员一样在一行输入一大串参数,那样用户体验太差了,一步一步引导式的操作是最好的。但是因为微信的所有请求都是通过腾讯的服务器转发的,也就是说所有的请求都是

逆行者 2万+

Unity Shader学习笔记/Urp/水墨风效果

Unity Shader学习

qq_63133691的博客 2116

微信内嵌浏览器sessionid丢失问题

现象微信中打开网页,图形验证码填写后,经常提示错误,即使填写正确也会提示错误,并且是间歇性出现。 系统前期,用户使用主要集中在pc浏览器中,一直没有出现这样的问题。近期有部分用户是在微信中访问的,才出现的这个问题。抓包由于只有在手机微信中出现这种情况,并且手机连的无线与pc不在一个局域网中,所以,只能在pc上用360wifi创建热点(无线),然后手机连接热点,再用wireshark抓360wifi

wangjun5159的专栏 3万+

中国国家级地面气象站基本气象要素日值数据集(V3.0)

气温数据TEM, 包括站点编号(sid), 纬度(lat), 经度(long), 高程(elev), 年(year), 月(month),日(day), 平均气温(tmean), 最高气温(tmax), 最低气温(tmin)气压数据PRS, 包括站点编号(sid), 纬度(lat), 经度(long), 高程(elev), 年(year), 月(month),日(day), 平均气压(pmean), 最高气压(pmax), 最低气压(pmin)中国国家级地面气象站基本气象要素日值数据集(V3.0)

J_Giser的博客 3891

单片机应用案例:ESP32 搭配 BH1750 光强传感器和 Web 服务器

在该应用案例中,我们将使用 ESP32 开发板作为主控制器,BH1750 光强传感器用于采集环境光强度数据,并通过 Web 服务器展示采集到的数据。步骤一:购买材料步骤二:连接硬件步骤三:编写代码我们将使用 Arduino IDE 编写代码,以下是主要代码:// WiFi 设置const char* ssid = “你的 WiFi 名称”;const char* password = “密码”;// Web 服务器实例// BH1750 实例// 获取当前光强度数据。

RlDart的博客 812

【JavaScript问题】JavaScript 使用 window.open() 打开一个新的页面session丢失

文章目录问题描述问题分析解决方法 问题描述 开发中,遇到这么一个问题,前端使用的是layuiadmin,当右侧iframe中的内容使用window.open() 打开一个新的页面时,session就失效了,新打开的页面上使用了一个在线office办公插件,当插件保存文档到后台时,从session中获取不到保存的用户信息 问题分析 window.open()打开的一个新页面,页面中的在线office调用方法保存时,实际上是网页内嵌了一个标签实现的,也就是说是一个新的页面 在后台打断点分析了两次进入控制层的

Tellsea 2846

【WRF-FDDA】观测 Obs nudging 的配置与使用说明(中)

WRF-FDDA

WW、forever的博客 280

IOS 中微信 网页授权报 key[也就是code]失效 解决办法

枪魂微信平台ios手机点击返回 网页授权失败,报key失效。已经解决,原因是授权key只能使用一次,再次使用就会失效。 解决办法:第一次从菜单中进行授权时,用session记录key和open_id。当点击返回时,判断session中key是否为空当不为空时,直接获取open_id,就不用通过key进行验证并获取open_id 。 $open_id = ...

dianchamian8747的博客 953

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

java开发微信session管理

主要用途:主要用于session管理。在微信开发时,因为通过微信服务器转发,而丢失cookie和seesion,无法使用session,所以使用微信服务器post过来的openid当做sessionid ,openid是一个唯一不重复的,这样每个用户的状态是可以独立的 参考地址:http://www.ablanxue.com/shtml/201502/26386_1.shtml 参考文章比较乱

落地 4070

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

由于跨域OPTIONS请求带来的java web应用session失效的问题

访问链路如上图。 现象是: 使用微信公众号、浏览器、app嵌webview来访问都是正常的,但是钉钉中打开web页面就会出现post请求到达tomcat时会话失效。 原因: 由于系统采用前后端分离的结构,浏览器访问前端页面时使用的是 a.domain.com,前端页面使用ajax发起post请求时使用的是 b.domain.com,也就是说post请求是一个跨域的请求。当出现跨域的ajax post请求时,浏览器会先发起一次OPTIONS请求预检资源是否可...

qq_42136434的博客 2972

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

微信公众号开发

1、ACCESS TOKEN 和SESSION KEY的区别 accessToken 获取的是用户相对公开的信息 如是否订阅了公众号 有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。 而sessionKey 相对私密的信息是,获取用户授权标示需要用户传code才能得到 比如解码用户手机号 2、根据unionid无法直接判断是否关注了公众号 似乎目前三种方案 1,拉取全部关注的用户 然后去找是否关注 2,配置服务器配置 用户取消关注、新关注会默认发xml到服务器地址

S_ZaiJiangHu的博客 1349

微信头像失效_微信头像地址失效踩坑记附带方案

微信头像失效问题说明?最近工作遇到一个微信头像失效的问题,情况是这样的,我们一个h5页面在微信授权后打开,会存储微信相关昵称和头像信息,不过,我们没有保存图片到自己的服务器,而是仅仅存储微信头像地址,然而过了n多天后,用户在微信修改了自己的头像,这时候,我们的服务是无感知的,又过了n多天,用户去访问我们那个h5页面,发现自己的头像是这样的:用户找到我们,说自己有头像呀,怎么没显示呢?我们也反问他,...

weixin_39622587的博客 216

errorcode 微信分享_微信公众号网页授权code问题

最近做微信开发,在网页授权的时候,总是出现异常time:2017-03-10问题:手机端访问网页没问题,电脑端微信测试就会出现code过期情况,导致服务器错误错误情况:只要出现上述申请访问连接,点击后code就会过期code过期导致服务器报错问题原因:客户端以及微信方同时带code请求服务器多次,用户真实请求时code已经过期解决方法:万金油解决方法,第一次通过code获取到信息后就把code存入...

weixin_39757169的博客 758

10分钟搭建个人微信公众号RSS订阅服务:告别信息碎片化

还在为每天在不同平台间切换查看公众号更新而烦恼吗?想要将喜欢的公众号内容聚合到自己的RSS阅读器中统一管理吗?wewe-rss正是解决这些痛点的完美工具。这款开源微信公众号RSS生成器基于微信读书接口,支持私有化部署,让你完全掌控自己的阅读数据流,享受无广告、排版清晰的阅读体验。😊 ## 📚 为什么你需要一个微信公众号RSS订阅服务 想象一下这样的场景:你关注了15个技术公众号、8个财经媒

gitblog_00345的博客 1199

Java Web 开发必须掌握的三个技术:Token、Cookie、Session

本文来源微信公众号:Java技术栈(公众号ID:javastack):转载请注明原文出处,谢谢! 在Web应用中,HTTP请求是无状态的。即:用户第一次发起请求,与服务器建立连接并登录成功后,为了避免每次打开一个页面都需要登录一下,就出现了cookie,Session。   Cookie   Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的...

渔人 301

以微信公众号爬虫为例,谈谈对session、cookie和token认证的理解

为什么需要这些认证 我们通过浏览器访问多数网站,本质上都可以理解为客户端(用户)和服务端(网站)之间的一次遵循http协议的请求和应答,比如:把a页面给我(返回a.html),删除b图片(删除b.jpg)。但是http协议本身是无状态的,也就是说我们每一次向网站发送请求,服务器都并不知道我们是谁、是否请求过、有何偏好(共享数据),所以需要一种验证机制将我们的所有请求关联起来。 1、session和...

SUL 1652

Cookie 和 Session 的区别?(摘自微信公众号- 纯洁的微笑)

我在做面试官的时候,曾经问过很多朋友这个问题: Cookie 和 Session 有什么区别呢?大部分的面试者应该都可以说上一两句,比如:什么是 Cookie?什么是 Session?两者的区别等。 但如果再往深入探讨的话,就慢慢有一些朋友不太了解了,谈起原理时就很少有朋友全部回答准确。今天和大家一起深入聊聊有关 Cookie 和 Session 的话题 。 第一层楼 什么是 Cookie 和 S...

SH456888的博客 638

微信公众号网页授权code问题

最近做微信开发,在网页授权的时候,总是出现异常 time:2017-03-10问题:手机端访问网页没问题,电脑端微信测试就会出现code过期情况,导致服务器错误错误情况: 只要出现上述申请访问连接,点击后code就会过期 code过期导致服务器报错 问题原因: 客户端以及微信方同时带code请求服务器多次,用户真实请求时code已经过期...

weixin_33744141的博客 3379
上一篇: 阿里云 ecs 的 centOS7.2 环境利用 xshell 配置 ftp 登录的用户账号和密码
下一篇: 在线笔试的一道题
yibin94
博客等级 码龄11年 78粉丝 158原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值