资讯专栏INFORMATION COLUMN

微信开发番外篇(非官方,不推荐)

Yumenokanata / 1621人阅读

摘要:注明番外篇非微信官方正式接口不推荐使用骚年们慎用在微信开发中为了获取用户的信息公众账号的一些信息除了通过官方给出的接口外还可以通过非法手段通过模拟登陆进行获取数据或者是借助类库下面示例通过模拟登陆获取公众账号信息借助于类库在做模拟登陆获取数

注明:番外篇,非微信官方正式接口不推荐使用...........(骚年们,慎用);
在微信开发中,为了获取用户的信息,公众账号的一些信息,除了通过官方给出的接口外,还可以通过"非法手段"通过模拟登陆进行获取数据(PHPCURL,或者是借助snoopy类库);下面示例通过模拟登陆获取公众账号信息(借助于snoopy类库),在做模拟登陆获取数据之前,你需要了解一下http知识,一些抓包软件(这里LZ使用的是chrome的F12进行分析...主要是不会用各种抓包工具),打开php的curl扩展等.
1.通过模拟登陆 获取 TOKEN(万恶的TOKEN) 和 cookie
主要步骤 1. 下载snoopy,直接Google即可找到下载链接,页面中引入snoopy,snoopy类使用方法请自行Google
2. 打开公众平台登陆页面 进行抓包分析!

可以看到,在登陆是微信将发送 username,pwd,imgcode,f 三个参数到 http://mp.weixin.qq.com/cgi-bin/login?lang=zh_CN URL上. username, pwd 即微信公众账号的登陆邮箱和密码.imgcode 参数可以不用理会;pwd需要用MD5进行加密
核心代码如下:

    $snoopy = new Snoopy();
    $submit = "http://mp.weixin.qq.com/cgi-bin/login?lang=zh_CN";
    $snoopy->referer = "http://mp.weixin.qq.com/";
    $snoopy->rawheaders["Origin"] = "http://mp.weixin.qq.com";
    $snoopy->rawheaders["Host"] = "mp.weixin.qq.com";
    $snoopy->rawheaders["Pragma"] = "no-cache";
    $post["username"] = $user;
    $post["pwd"] = md5($pwd);
    $post["imgcode"] = "";
    $post["f"] = "json";
    $snoopy->submit($submit,$post);
    //取出token
    $rs = json_decode($snoopy->results,true);
    preg_match("/token=(d+)/",$rs["redirect_url"],$token);
    //取得token[1]就是token值
    $cookie = "";
    foreach ($snoopy->headers as $key => $value) {
        $value = trim($value);
        if(strpos($value,"Set-Cookie: ") || strpos($value,"Set-Cookie: ") === 0){
            $tmp = str_replace("Set-Cookie: ","",$value);
            $tmp = str_replace("Path=/","",$tmp);
            $cookie .= $tmp.";";
        }
    }

    if(strlen($cookie) > 20){
        $a["cookie"] = $cookie;
        $a["token"] = $token[1];
        $this->cookie = $cookie;
        $this->token  = $token[1];
        $this->results = $a;
        return $a; //返回数组
    }else{
        return false;
    }

返回的数组$a 即 COOKIE 和 TOKEN;微信机制是TOKEN在7200S 之后自动过期.

修改 微信更新后 继续使用http无法获取到数据 需要采用http 443端口 需要使用snoopy 2.0版本 snoopy 1.*版本 win环境下不支持https协议..................

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/20718.html

相关文章

  • PostCSS自学笔记(二)【外篇一】

    摘要:通过配置规则和单位使用或来解决。其他关于我个人的一系列学习介绍及总结有兴趣可以参阅自学笔记一安装使用篇自学笔记二插件篇自学笔记二番外篇一自学笔记二番外篇二 利用PostCSS解决移动端REM适配问题 上一期有提到结合postcss-px2rem插件来处理移动端适配的方案,以及相关的避坑方法,之后总觉得这个解决方案问题太多,也就诞生了另一套方案运用postcss-pxtorem插件来进行...

    Harpsichord1207 评论0 收藏0
  • 外篇1:在Windows环境下安装JDK

    摘要:在中怎么安装编者的电脑为位,因此以为例向大家展示的安装过程。第三步设置环境变量一般安装完成后,都会进行环境变量设置,目的是让系统能够找到和命令。生命不止,学习不休加油 他山之石,可以攻玉!欢迎关注我的微信公众号showImg(https://segmentfault.com/img/bVboaBO?w=129&h=129); 本文作为构建第一个Java程序的番外篇一,跟大家探讨下在Wi...

    vboy1010 评论0 收藏0
  • 电商系统设计之商品[外篇]

    摘要:前言这是电商系统设计系列在商品设计这块的最后一篇文章。电商系统商品相关的文章已经到了尾声如果有其他商品相关的文章需要编写可以私信联系我毕竟我也是公司员工写这些文章并不是我的工作,只是记录我的职业生涯。 showImg(https://segmentfault.com/img/bVbePdh?w=1260&h=628); 前言 这是电商系统设计系列在商品设计这块的最后一篇文章。以下是其他...

    crossoverJie 评论0 收藏0
  • 外篇2-基本规范、注释、static关键字、import关键字

    摘要:今日份重点命名规范注释关键字关键字总结命名规范规范的包名名字管理是所有编程语言都必须重视的一个问题。比如说百度,其域名为,那么其对应的应用的包名前缀就应该为。是谁这么大牌总结本文主要介绍了中的命名规范注解关键字关键字等内容。 欢迎关注我的微信公众号,共同打牢Java的基础,向着远方进击 showImg(https://segmentfault.com/img/bVboaBO?w=129...

    codecraft 评论0 收藏0
  • 大师带你开悟高薪程序员之路——《编程之道》外篇

    摘要:编程之道出自美国一位资深的程序设计师之手。大师带你开悟高薪程序员之路编程之道番外篇程序员见禅师我学了和水仙花数,想自己开发个操作系统,希望大师指点。斧子扔得再啊呀我操程序员去拜访禅师每次遇到程序,我都心急如焚,特向大师求心灵平静之道。 编程之道》出自美国一位资深的程序设计师 Geoffrey James 之手。 本文章是为番外篇,哈哈哈,有点儿无节操。 大师带你开悟高薪程序员之路——《...

    cocopeak 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<