首页 > 编程知识 正文

Python3 微信公众平台模拟登陆 requests模拟请求,微信公众平台服务器

时间:2023-05-05 21:09:07 阅读:257098 作者:2733

声明此代码仅供技术交流学习,擅自用于其他,一切后果与本人无关
目标网址: https://mp.weixin.qq.com/

所谓模拟登陆,就是自己模拟构造请求发送给服务器,然后服务器返回认证的信息过来,当然这个其中的交互过程稍微有点复杂,可能不止一次的交互。
我们这次模拟登陆成功的标志就是拿到登陆后的token和cookie, cookie有过期时间,我稍微测试了下大概有10个小时左右。

效果图

按照惯例首先摆上效果图,证明我这个代码目前是真实可以运行的。
图一:是完整登陆后的过程,打印出来了token 和 cookie, 这是演示代码,实际可以存储起来到redis或者其他地方。

图二: 这是验证tokne和cookie是否有用,由于我的公众号就只发了一遍测试文章,内容啥的都没有,所有拿到的json数据很少,但是总的来说是可以的。

思路

由于这个代码是我很早写的,所以思路就没有图文对照,懒得再去截图演示了,但是上面两个效果图是我写博客的时候又重写运行过一遍的,目前是有效的。

1 首先一般的步骤都是打开Chrome浏览器,打开网址,然后f12 找到 填写账号密码的from表单之类的,但是这个套路针对此次模拟行不通。

因为微信公众平台老是跳转刷新,所以很难找到请求的网址和接口。
好了,分析不了,告辞,文章结束。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

好吧, 其实我们可以打开网页后用抓包工具看各种请求的接口和跳转情况。
我们先在浏览器打开网址,然后打开fiddler或者charles 等抓包工具,不会抓包工具的,这里不讲,自己去找找相关资料,安装使用不难,就是有点繁琐。(抓取浏览器接口的时候记得把浏览器上的代理插件去掉,否则抓不到, 如果有代理的话)

我再想想我该写什么了? 好吧没什么可以写的。

简单的说一下运行逻辑。1 首先是模拟表单发送一个post请求, 注意密码是md5之后的值2 模拟请求后可能出现验证码,如果有就请求验证码,(验证码url会携带登陆cookie),然后手动输入重新post3 跳转到扫描二维码界面,这会就有两个逻辑,第一个是账号持有人扫码,第二个是非账号持有人。3.1账号持有人扫码,扫完就直接登陆确认。3.2 非账号持有人,扫完后,会继续跳转到账号本人扫码界面(貌似账号本人微信会直接提示,直接确认就行)4 直接访问主页,获取token,然后把现在自身的cookie保存,模拟登陆到此就完成了。

代码现在上传到我的github上面。
https://github.com/CoderCharm/wechat_subscription
如果对你有帮助,麻烦点下star!!毕竟写代码,写博客都是义务操作。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。