Python3 微信公众平台模拟登陆 requests模拟请求

  • 声明此代码仅供技术交流学习,擅自用于其他,一切后果与本人无关
    目标网址: 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),然后手动输入重新post
  • 3 跳转到扫描二维码界面,这会就有两个逻辑,第一个是账号持有人扫码,第二个是非账号持有人。
  • 3.1账号持有人扫码,扫完就直接登陆确认。
  • 3.2 非账号持有人,扫完后,会继续跳转到账号本人扫码界面(貌似账号本人微信会直接提示,直接确认就行)
  • 4 直接访问主页,获取token,然后把现在自身的cookie保存,模拟登陆到此就完成了。

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

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值