python requests模拟登录,

  python requests模拟登录,

  本人声明,本代码仅用于技术交流和学习,未经授权可用于其他用途。一切后果与我无关。

  目标URL:https://mp.weixin.qq.com/s所谓模拟登录,就是他模拟构造请求并发送给服务器,然后服务器返回认证信息。当然交互过程有点复杂,可能不止一次交互。

  我们模拟登录的成功标志是在登录后获得令牌和cookie。cookie是有过期时间的,我稍微测试了一下大概10个小时。

  按照惯例,效果图先放在效果图上,证明目前我的代码是真实可行的。

  图1:这是完整的登录过程,令牌和cookie被打印出来。这是演示代码,实际上可以存储在redis或者其他地方。

  图2:这是为了验证tokne和cookie是否有用。由于我的微信官方账号只发了一次测试文章,里面什么都没有,得到的所有json数据都很少,但总体来说还可以。

  由于我很早就写了这段代码,所以没有用图片和文字来对比我的想法,也就懒得截图来演示了。不过上面两张效果图是我写博客的时候重新写的,重新运行,目前有效。

  1首先一般步骤是打开Chrome浏览器,打开网址,然后f12找到填写账号密码的from表单等。但是这个套路对这个模拟不起作用。因为微信公众平台总是跳转刷新,很难找到请求的网址和界面。

  好吧,我分析不出来。现在离开,文章就结束了。。。。。。。。。。。。。

  嗯,其实我们可以打开网页,用抓包工具看看各种请求的接口和跳转。

  我们先在浏览器中打开网址,再打开fiddler或charles等抓包工具。我们不知道如何抓取包工具。这里就不说了,大家可以自行寻找相关资料。安装使用不难,就是有点繁琐。(在抓取浏览器界面的时候记得把代理插件从浏览器中移除,否则抓不到,如果有代理的话。)我再想想我该写什么?好吧,没什么好写的。

  简单说一下运行逻辑。首先,模拟发送post请求的表单。注意,密码是md5之后的值。第二,模拟请求后,可能会出现验证码。如果有,索要验证码(验证码网址会携带登录cookie),然后手动输入re-post3跳转到二维码扫描界面。这就会有两个逻辑。第一个是账户持有人扫码,第二个是非账户持有人。3.1开户人扫码,扫描后直接登录确认。3.2非账户持有人,扫描后会继续跳转到账户所有人的扫码界面(貌似账户所有人的微信会直接提示,直接确认即可)4直接访问首页,获取令牌,然后保存当前cookie,模拟登录到此结束。现在代码上传到我的github了。

  https://github.com/CoderCharm/wechat_subscription

  如果对你有帮助,请点星!毕竟写代码和写博客都是自愿的操作。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: