我们先来回顾一下微信网页版的扫码登录过程

1. 打开微信网页版,https://wx.qq.com/

2. 打开手机微信客户端,扫一扫

3. 点击确定,登录

看似简单的操作流程,中间涉及的数据交互有很多还是值得我们参考的,下面从页面请求来探讨一下人家的技术是怎样实现的。

使用google chrome,打开调度工具,重新刷新页面,如图所示

留意以上3个点,返回的数据如下

1.

2.

这里的意思是,长连接获取不到用户的登录响应,所以返回408,http code 408代表的就是请求超时

3.

留意红色的字符,这个是从第一步请求的里面获取回来的,唯一用户识别uuid

打开手机扫码之后,再看中间的数据是怎样交互的

这个时候,步骤3同样的地址,返回的数据已经变更。获取到了服务端的验证凭票,需要进行下一步的跳转了。

这几步,就是根据上面的凭票,去验证登录状态了。

以上步骤,可归纳为以上的流程图

因为整个流程的所有请求,都是基于ssl来传输的,所以也不需要担心传输过程泄密的问题。

参考来源:http://blog.it2048.cn/article_webweixin.html

[微信] 微信网页版扫码登录的实现相关推荐

  1. java实现简单扫码登录功能(模仿微信网页版扫码)

    java实现简单扫码登录功能 模仿微信pc网页版扫码登录 使用js代码生成qrcode二维码减轻服务器压力 js循环请求服务端,判断是否qrcode被扫 二维码超时失效功能 二维码被扫成功登录,服务端 ...

  2. 一文详析微信和淘宝扫码登录背后的实现原理!

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 作者:imtech my.oschina.net/u/4231722/blog/3 ...

  3. 面试官:说说微信和淘宝扫码登录背后的实现原理?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | my.oschina.net/u/423172 ...

  4. 面试官:聊聊微信和淘宝扫码登录背后的实现原理?

    本文来源: my.oschina.net/u/4231722/blog/3154805 <Java工程师面试突击(第3季)>重磅升级,由原来的70讲增至140讲,内容扩充一倍,升级部分内容 ...

  5. 微信和淘宝扫码登录背后的实现原理

    点击上方"Java基基",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2019 超神之路,很肝~ 中文详细注释的开源项目 ...

  6. 阿里面试官:分别说说微信和淘宝扫码登录背后的实现原理

    作者:imtech my.oschina.net/u/4231722/blog/3154805 1.引言 扫码登录这个功能,最早应该是微信的PC端开始搞,虽然有点反人类的功能(不扫码也没别的方式登录) ...

  7. 面试官:分别说说微信和淘宝扫码登录背后的实现原理?

    Java面试笔试面经.Java技术每天学习一点 Java面试 关注不迷路 作者:imtech 来源:https://my.oschina.net/u/4231722/blog/3154805 1.引言 ...

  8. 腾讯面试官:聊聊微信和淘宝扫码登录背后的实现原理?GG了

    作者丨imtech 来源: my.oschina.net/u/4231722/blog/3154805 1.引言 扫码登录这个功能,最早应该是微信的PC端开始搞,虽然有点反人类的功能(不扫码也没别的方 ...

  9. Java 语言实现简易版扫码登录

    基本介绍 相信大家对二维码都不陌生,生活中到处充斥着扫码登录的场景,如登录网页版微信.支付宝等.最近学习了一下扫码登录的原理,感觉蛮有趣的,于是自己实现了一个简易版扫码登录的 Demo,以此记录一下学 ...

最新文章

  1. Python 标准库之 json
  2. php类的测试用例,快速入门:集成 PHPUnit 编写测试用例
  3. MySQL安装及root密码初始化
  4. CTFshow 文件包含 web116
  5. IDEA 每次运行项目时都提示源值1.5已过时,将在未来所有版本中删除
  6. Michael-Scott非阻塞队列(lock-free)算法的C实现
  7. SAP CRM WebClient UI context node属性展开的执行逻辑
  8. Android官方命令深入分析之Hierarchy Viewer
  9. QT学习笔记(八):顺序容器和关联容器
  10. 2021高校毕业生薪酬Top100出炉!
  11. 03-linux下离线安装R环境
  12. 【Spark笔记】Windows10 本地搭建单机版Spark开发环境
  13. 安装PhantomJS
  14. docker入门、docker基本命令
  15. 重磅!全球云服务商 IP 地址与分析报告:注册与活跃 IP 告诉你到底哪家云更火...
  16. 众安运维监控平台,构建devops一体化监控和运维体系
  17. SQL Server数据库-表
  18. 太平洋网站的css样式
  19. 二手车预测:task2:数据分布
  20. tewa-800g请输入正确的管理员账户_tp-link路由器如何设置管理员身份绑定 路由器设置管理员身份绑定方法【介绍】...

热门文章

  1. 采用DAWG方式在大批量字符串中查询字符串
  2. 近年创业目睹之怪现状
  3. 教你如何免费使用微商工具,微信上一键添加,自动评论、点赞等系列功能,具有物理模拟人工点击没有封号性
  4. SpringMVC @RequestBody问题:Unrecognized field , not marked as ignorable
  5. HTML5文字转语音源码,微软TTS语音源码(将文本转为语音并播放)
  6. 小程序的价值到底在哪?如何掘金?看三位顶尖从业者如何说。
  7. [后端 springboot] 打包后html无法访问的问题
  8. OpenStack HA集群3-Pacemake Corosync
  9. 操作系统原理,交互式系统常见的调度算法,时间片轮转RR,虚拟轮转VRR,最高优先级调度,优先级反转问题与应对
  10. python中容易被忽视的三个点