作者: Leo_chen,高级前端工程师,喜欢使用node做各种项目

重磅通知

很高兴能够写这篇文章通知大家Wechaty的web协议又能大放光彩了,如果之前你的微信提示不能登录web端,那么这个更新将会是你的福音。因为现在的wechaty-puppet-wechat已经支持使用UOS微信桌面版协议登录,赶快来尝试一下吧。

如何使用

关键依赖:npm install wechaty-puppet-wechat –save

对现有代码无任何侵入性,只是更新一下依赖即可

一、首先安装最新的wechaty-puppet-wechat依赖和配置环境

npm install qrcode-terminal --save
npm install wechaty
npm install wechaty-puppet-wechat --save // 这个依赖是关键
export WECHATY_PUPPET=wechaty-puppet-wechat // 这里也是关键,需要配置你使用的puppet

二、请保证你的puppet配置的是wechaty-puppet-wechat

如果你使用的是ipadlocal,又想体验一下web协议,那么也需要按照一下配置进行

案例:

index.js


const { Wechaty } = require('wechaty');const name = 'wechat-puppet-wechat';
let bot = '';
bot = new Wechaty({name, // generate xxxx.memory-card.json and save login data for the next login
});//  二维码生成
function onScan(qrcode, status) {require('qrcode-terminal').generate(qrcode); // 在console端显示二维码const qrcodeImageUrl = ['https://wechaty.js.org/qrcode/',encodeURIComponent(qrcode),].join('');console.log(qrcodeImageUrl);
}// 登录
async function onLogin(user) {console.log(`贴心小助理${user}登录了`);if (config.AUTOREPLY) {console.log(`已开启机器人自动聊天模式`);}// 登陆后创建定时任务await initDay();
}//登出
function onLogout(user) {console.log(`小助手${user} 已经登出`);
}bot.on('scan', onScan);
bot.on('login', onLogin);
bot.on('logout', onLogout);
bot.start().then(() => console.log('开始登陆微信')).catch((e) => console.error(e));

按照以上配置,拿起你的手机扫码即可,你会发现以前不能登录的微信也可以登录了,惊喜不,意外不。

常见问题

1、为什么我更新了最新依赖还是提示无法登录web端微信?

请查看你项目的根目录,是否存在wechaty-puppet-wechat.memory-card.json这样的文件,如果有请把它删除后重新执行即可,这个存储的cookies 有可能已经过期(最新版本已经修复此问题)

2、这个puppet可以保证一直能绕过web登录么?

目前看来是可以绕过web端的限制,但是不保证以后会变化

3、绕过这个限制会被微信发现封禁么?

目前采用的绕过方式其实是使用了UOS的桌面版微信请求头,所以如果你不做违反微信协议的事情,大概率是没问题的。如果你违反了微信规定,那就不知道了

更多问题后续会根据反馈继续补充

原理

具体的实现原理可以参考这个issues ,代码修改参见 https://github.com/wechaty/wechaty-puppet-wechat/pull/129

大概的意思就是UOS下的微信只是网页版套了个electron,所以呢有大神就对比了一下请求头,发现了只要在请求的地址上首先加一个?target=t就是这样https://wx.qq.com/?target=t

然后在扫码登陆后拦截 https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage 这个请求,并在请求头上添加两个固定的参数

extspam ='Gp8ICJkIEpkICggwMDAwMDAwMRAGGoAI1GiJSIpeO1RZTq9QBKsRbPJdi84ropi16EYI10WB6g74sGmRwSNXjPQnYUKYotKkvLGpshucCaeWZMOylnc6o2AgDX9grhQQx7fm2DJRTyuNhUlwmEoWhjoG3F0ySAWUsEbH3bJMsEBwoB//0qmFJob74ffdaslqL+IrSy7LJ76/G5TkvNC+J0VQkpH1u3iJJs0uUYyLDzdBIQ6Ogd8LDQ3VKnJLm4g/uDLe+G7zzzkOPzCjXL+70naaQ9medzqmh+/SmaQ6uFWLDQLcRln++wBwoEibNpG4uOJvqXy+ql50DjlNchSuqLmeadFoo9/mDT0q3G7o/80P15ostktjb7h9bfNc+nZVSnUEJXbCjTeqS5UYuxn+HTS5nZsPVxJA2O5GdKCYK4x8lTTKShRstqPfbQpplfllx2fwXcSljuYi3YipPyS3GCAqf5A7aYYwJ7AvGqUiR2SsVQ9Nbp8MGHET1GxhifC692APj6SJxZD3i1drSYZPMMsS9rKAJTGz2FEupohtpf2tgXm6c16nDk/cw+C7K7me5j5PLHv55DFCS84b06AytZPdkFZLj7FHOkcFGJXitHkX5cgww7vuf6F3p0yM/W73SoXTx6GX4G6Hg2rYx3O/9VU2Uq8lvURB4qIbD9XQpzmyiFMaytMnqxcZJcoXCtfkTJ6pI7a92JpRUvdSitg967VUDUAQnCXCM/m0snRkR9LtoXAO1FUGpwlp1EfIdCZFPKNnXMeqev0j9W9ZrkEs9ZWcUEexSj5z+dKYQBhIICviYUQHVqBTZSNy22PlUIeDeIs11j7q4t8rD8LPvzAKWVqXE+5lS1JPZkjg4y5hfX1Dod3t96clFfwsvDP6xBSe1NBcoKbkyGxYK0UvPGtKQEE0Se2zAymYDv41klYE9s+rxp8e94/H8XhrL9oGm8KWb2RmYnAE7ry9gd6e8ZuBRIsISlJAE/e8y8xFmP031S6Lnaet6YXPsFpuFsdQs535IjcFd75hh6DNMBYhSfjv456cvhsb99+fRw/KVZLC3yzNSCbLSyo9d9BI45Plma6V8akURQA/qsaAzU0VyTIqZJkPDTzhuCl92vD2AD/QOhx6iwRSVPAxcRFZcWjgc2wCKh+uCYkTVbNQpB9B90YlNmI3fWTuUOUjwOzQRxJZj11NsimjOJ50qQwTTFj6qQvQ1a/I+MkTx5UO+yNHl718JWcR3AXGmv/aa9rD1eNP8ioTGlOZwPgmr2sor2iBpKTOrB83QgZXP+xRYkb4zVC+LoAXEoIa1+zArywlgREer7DLePukkU6wHTkuSaF+ge5Of1bXuU4i938WJHj0t3D8uQxkJvoFi/EYN/7u2P1zGRLV4dHVUsZMGCCtnO6BBigFMAA='
client-version' = '2.0.0',

这样就可以完美使用桌面版协议了,真的是非常感谢 @Luv Letter 的解释和 @artxia 的chrome插件代码让我有机会为wechaty-puppet-wechat添砖加瓦

快速体验

如果想快速体验Wechay的完整功能,以及可视化配置功能,可以关注我的 《微信每日说》 和 《智能微秘书》 项目,以上项目均已更新最新版web协议,全部支持web登录。

历史文章

重磅:使用UOS微信桌面版协议登录,wechaty免费版web协议重放荣光相关推荐

  1. 信创操作系统--统信UOS桌面版(登录与激活统信:直接登录、远程登录、锁屏、电源管理、激活)

    信创操作系统–统信UOS桌面版(登录与激活统信:直接登录.远程登录) 目录 前言 1. 启动 1.1. GRUB简介 2. 登录 2.1. 直接登录 2.2. 远程登陆 2.3. 锁屏 2.4. 电源 ...

  2. facebook网页版登录_微信网页版关闭登录将影响一大批使用itchat等Web Api方案的微信机器人...

    微信网页版限制登录或禁止登录将影响一大批使用itchat等Web Api方案的微信机器人 网页版微信 API 被封了,像使用 itchat wxpy wxbot等基于 web API 的微信 robo ...

  3. 网页版登录入口_企业微信网页版怎么登录?企业微信客户端和网页版有什么区别?...

    文丨语鹦企服私域管家原创,未经授权不得转载 企业微信有网页版也有客户端,很多小伙伴可能搞不清,今天语鹦企服就带你一起看看,企业微信客户端和网页版有什么区别?以及如何登录使用. ▎企业微信网页版: 与微 ...

  4. Python的wxpy库怎么样?(微信网页版无法登录)

    首先抛开wxpy库怎么样不说,你首先得能登录微信网页版才行.因为wxpy库就是调用的微信网页版的API.所以如果你的微信网页版登录不了,wxpy库也就用不了.

  5. Nike app协议登录|how to login nike app |snkrs 协议登录|snkrs botnike app协议登录|snkrs 协议登录|snkrs 如何破盾|snkrs 破盾|

    如何破nike akamai高并发问题;canvas;akami cancas;akamai webgl;nike 破盾;snkrs 破盾|snkrs bot 如何通过sensor过盾:sensor怎 ...

  6. 【WEB开发】微信网页授权第三方登录接口(WEB登录)

    https://www.cnblogs.com/xuzhengzong/p/8513269.html 本文链接至:http://blog.csdn.net/hxker/article/details/ ...

  7. UOS桌面版用户操作手册

    提供的技术方案或与您产品的实际情况有所差异,您需在完整阅读方案并知晓其提示风险的情况下谨慎操作,避免造成任何损失. 1.uos系统桌面版基本操作 登录 uos如何使用图形和远程登录 锁屏 uos如何使 ...

  8. 《Netty+JavaFx实战:仿桌面版微信聊天》代码开源、上云部署、视频讲解,只为让你给点个Star!

    作者:小傅哥 博客:https://bugstack.cn 视频:https://mp.weixin.qq.com/s/OmXCY4fTfDpkvjlg5ME0ZA 源码:https://github ...

  9. 「微信群合影2.4.0」- 微信网页版账号不能登录问题解决办法

    「微信群合影qunheying.com」- 一键生成微信全家福. 「 微信群合影 2.4.0 」版本更新:  支持微信网页版不能登录账号生成群合影 在一键生成全家福的过程中,有一些用户是不能登录微信网 ...

  10. 「微信群合影2.5.0」- 微信网页版账号不能登录解决办法,扫码登录

    「微信群合影qunheying.com」- 一键生成微信全家福 「 微信群合影 2.5.0 」版本更新: 支持微信网页版不能登录账号生成群合影, 通过扫码登录获取 在一键生成全家福的过程中,有一些用户 ...

最新文章

  1. if you receive money from others
  2. mysql delete语句_MySQL ------ 触发器(TRIGGER)(二十七)
  3. bigdecimal 科学计数转普通计数_通用计数器的应用价值
  4. mcollective的web控制台---mcomaster搭建
  5. 欧姆龙CP-X显示 END重复 以及 条 0 -重叠条
  6. 微软苏州集体抵制来自阿里、华为的跳槽者:请停止你的“奋斗逼”行为!网友:看到 955 不加班的公司名单,我酸了...
  7. 查看本地硬盘raid级别linux,linux 下查看硬盘型号、大小等信息(含Raid)
  8. 中国内地、台湾、香港、澳门和国外DNS服务器地址列表
  9. The simplest way to combine two csv file in python
  10. RuiJi Scraper 分页抽取
  11. 无悔入华夏怎么一直显示服务器,无悔入华夏怎么统一_无悔入华夏统一方式技巧攻略_玩游戏网...
  12. 南京大学量子计算机陈教授,南京大学于扬教授应邀访问武汉物数所
  13. matlab差值函数库,matlab教程之排序插值函数等
  14. python画三角形
  15. php 合并多个excel,excel中如何将多个sheet合并成一个
  16. [MySQL数据库]-基础多表练习题---员工工资
  17. 计算机图形学 学习笔记(八):三维图形变换:三维几何变换,投影变换(平行/ 透视 投影)
  18. 如何自动聚焦到表单的某个input标签(autofocus)
  19. 算法:斐波那契数列通项公式推导
  20. 基于SVD法求解激光跟踪仪坐标系转换关系

热门文章

  1. Android——Binder机制
  2. 【转载】DDR2 DDR3 PCBlayout规则
  3. Github上找到开源的《植物大战僵尸》代码分享~
  4. Stata:面板数据模型一文读懂
  5. 计算机网络有那些参考文献,计算机网络参考文献
  6. 【ARM】Linux驱动移植
  7. iPhone软件KK唱响评测 在线视频比拼歌声
  8. oracle命令切换用户,Oracle 常用命令
  9. ubuntu 18.04 review board安装及svn设置pre-commit 和post-cmmit
  10. Ember controller