今天做微信公众号开发整合功能的时候,使用session保存记录。用postman测试好使,但是一旦用手机就不好使。上网查了好久才明白,微信开发是不能用session的。具体原因如下:因为微信的所有请求都是通过腾讯的服务器转发的,也就是说所有的请求都是从同一个服务器发来的,这样原本的session机制便失效了,就好比程序原来靠人的长相来分辨和谁在对话,然后所有人的消息都通过一个人转告时,你就无法分辨了。原本的session的识别方式好像是通过cookie,每一次会话生成一个独一无二的sessionID,浏览器的所有请求都会带上这个ID,而腾讯服务器支不支持cookie还不好说,如果不支持的话,那就相当于负责向你转告别人消息的那人是个无头幽灵。。。
       这时我们可以换个思路,因为那人在转告时会告诉你是这条消息是谁发过来的,也就是 FromUserName 参数,这是一个独一无二的openid,相当于sessionID。

原文:https://blog.csdn.net/Inite/article/details/79574243

 

由于公众平台的特殊形式,用户的消息是通过腾讯服务器直接post的过来的,服务器是不带cookie过来的,所以当你想用平时直接设置cookie和session是不行的,cookie是彻底没戏,session的问题是 服务器每次过来不带session_id 所以我们也无法读取session文件。

原文:https://blog.csdn.net/pony_maggie/article/details/52462084