由于公司小游戏/小程序多达50+,为方便管理,需要爬取小程序/小游戏的收入数据。
故需要模拟微信公众平台登录操作(手机扫码确认)后才能获取。通过抓包工具一步步分析登录过程,及他所需要的数据。
1.请求首页"
https://mp.weixin.qq.com
"
要先获取首页,此步骤必须要做,不然无法获得正常数据。
2.请求开始登录接口"
https://mp.weixin.qq.com/cgi-bin/bizlogin?action=startlogin
"
此步骤获得两项参数:
(1)保存cookie数据
(2)获取 跳转重定向地址:在下个步骤(获取二维码地址步骤)中将此链接作为CURLOPT_REFERER的参数传入
3.请求获取二维码地址"
https://mp.weixin.qq.com/cgi-bin/loginqrcode?action=getqrcode¶m=4300&rd=309
"
此步骤可获取二维码,可保存至服务器或显示至前端
4.获取二维码后,服务器轮询请求地址:"
https://mp.weixin.qq.com/cgi-bin/loginqrcode?action=ask&token=&lang=zh_CN&f=json&ajax=1&random=xxxx
"(xxxx是一串随机数)
等待人工扫码,for循环验证返回结果。
5.人工扫码后,请求返回成功状态,服务器请求"
https://mp.weixin.qq.com/cgi-bin/bizlogin?action=login&lang=zh_CN
"
并从返回的"
redirect_url
"数据中获取到token数据。
6.如果返回的'user_category'=1,则需要请求,"
https://mp.weixin.qq.com/cgi-bin/loginauth?action=ask&token=&lang=zh_CN&f=json&ajax=1
"
这里一定要注意!!!
验证返回数据与步骤5一致
7.此时大功告成。可以用拿到的token获取你想获取的数据啦。