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!!毕竟写代码,写博客都是义务操作。
Python3 微信公众平台模拟登陆 requests模拟请求相关推荐
- php如何配置微信公众号环境,微信公众平台开发之配置与请求
一.配置参数 define('WEIXIN_APPID', 'wxzzzzzzzz'); define('WEIXIN_APPSECRET', 'ouewjdsaudsamkh'); define(' ...
- 微信公众请求config php,微信公众平台开发之配置与请求_PHP
一.配置参数 define('WEIXIN_APPID', 'wxzzzzzzzz'); define('WEIXIN_APPSECRET', 'ouewjdsaudsamkh'); define(' ...
- 微信公众平台开发教程第20篇-新手解惑40则
笔者在CSDN博客频道推出微信公众平台开发教程之后,接触了许多公众平台开发爱好者,也帮助他们解决了许多实际的问题,当然这其中有很多问题都是重复的,因此,笔者将这些问题及解答整理出来,以帮助更多初学者少 ...
- [044] 微信公众平台开发教程第20篇-新手解惑40则
笔者在CSDN博客频道推出微信公众平台开发教程之后,接触了许多公众平台开发爱好者,也帮助他们解决了许多实际的问题,当然这其中有很多问题都是重复的,因此,笔者将这些问题及解答整理出来,以帮助更多初学者少 ...
- 微信公众平台消息接口API指南
下述文档已过期,更加完整及详细的请访问 http://www.cnblogs.com/txw1958/p/wechat-tutorial.html 简介 微信公众平台消息接口为开发者提供了一种新的消 ...
- 微信公众平台开发——新增素材
微信公众平台开发--新增永久素材 请求接口 接口使用(以图片上传为例) 使用Layui写一个前台上传图片的页面 js 使用HttpRequestPostMedia方法 UploadMedia方法 效果 ...
- 微信公众平台服务器的官方示例代码,微信公众平台API接口(示例代码)
简介 微信公众平台消息接口为开发者提供了一种新的消息处理方式.微信公众平台消息接口为开发者提供与用户进行消息交互的能力.对于成功接入消息接口的微信公众账号,当用户发消息给公众号,微信公众平台服务器会使 ...
- 微信公众平台API接口开发教程
简介 微信公众平台消息接口为开发者提供了一种新的消息处理方式.微信公众平台消息接口为开发者提供与用户进行消息交互的能力.对于成功接入消息接口的微信公众账号,当用户发消息给公众号,微信公众平台服务器会使 ...
- Java对接微信公众平台详解
Java对接微信公众平台详解 1.公众平台概述 1.1 公众平台概述 1.2 入门指引 2.对接流程 2.1 接入概述 2.2 填写服务器配置 2.3 接口域名说明 2.4 获取Access toke ...
最新文章
- mysql2008 limit,在SQL Server中实现 Limit m, n 的功能
- 英语单词 voltage simulation synthesize junction asynchronous mega optimize
- C/C++字符串使用整理
- PowerPC VxWorks BSP分析(2)--PowerPC汇编
- 这个国家太奇怪了!全球最落后的国家之一,却又是世界上最幸福的国家!
- web.xml.jsf_使用JSF 2.2功能来开发可滚动,可延迟加载的Ajax数据表
- 笨办法学 Python · 续 练习 50:`vi`
- 为什么说社区团购进行得如火如荼?
- 字节跳动面试官:千峰java培训多少钱
- 如何在Ubuntu 18.04上安装OpenCV
- System Center 2012 R2 支持的SQL版本
- 什么是领域模型(domain model)?贫血模型(anaemic domain model) 和充血模型(rich domain model)有什么区别...
- 腾达路由器WISP功能小测试
- 菜鸟驿站是什么快递_菜鸟驿站是什么快递(菜鸟驿站和快递点的区别)
- 网络安全人员必考的几本证书
- html 给word插入页眉和页脚,如何在Word插入页眉和页脚
- 计算机术语中cad代表,计算机术语中,CAD表示什么
- 绝版 ~ 原来 Python 画画可以这么简单
- Uniapp实现小程序获取用户微信信息功能
- 程序员博客遭攻击,炸出华为云前员工吐槽自家业务;谷歌宣布推出第二个版本 Git 协议,带来显著的性能提升...