• 技术文章 >后端开发 >php教程

    微信/易信公共平台开发(4):公众号调试器 (仿真微信平台,提供PHP源码)

    2016-06-13 12:34:32原创452
    微信/易信公共平台开发(四):公众号调试器 (仿真微信平台,提供PHP源码)


    开发微信/易信公共平台时,调试往往很麻烦,一般只能在手机上边试边改, 或在服务器写日志。当你的服务器脚本有Bug时,手机上没有显示,追查是不容易的。我在开发过程中,编写了一个调试器, 能仿真微信/易信平台,对公众号URL进行访问并显示详细响应数据,调试公众号变得很容易了。特分享给大家。


    调试器地址:http://www.jostudio.org/emulator.php


    界面如下: 输入公众号URL,发送文本消息,可显示出响应数据。边开发,边调试。




    调试器可以发送文字信息,输入文字内容,按“发送文字消息”键即可。

    调试器也可以仿真菜单点击, 输入菜单EventKey值,按“点击菜单”键即可。

    调试器还可以仿真用户关注,按“从头开始”键,此时调试器将发送一个subscribe消息到公众号URL。


    如果公众号URL响应过程中有错误发生,也会在返回数据显示中出来的, 调试很好用!


    注:调试器向公众号URL发送消息时,发送者的openid 是 "emulator_user"



    神秘功能: 这个调试器可以访问任何URL,就像web代理一样,比如:下图显示访问 www.baidu.com , 点击“从头开始”, 则可以看到返回数据。

    为什么返回数据的中文是乱码呢? 这是因为baidu.com返回的是gbk编码的汉字,而调试器遵循微信平台规则,使用的是utf-8编码的汉字. 请勾选 “返回数据是GBK编码” 的选项,点击“从头开始”再次提交,则返回结果中文就不乱码了。




    勾选 “返回数据是GBK编码”,点击“从头开始”再次访问www.baidu.com, 结果显示“网页不存在”. 为什么呢?这是因为,调试器遵循微信平台规则, 在URL后自动加上了签名值, 且以POST方式访问URL,所以百度认为这个URL不存在。


    勾选 “以GET方式访问URL” 的选项, 并且不要勾选 “返回数据是GBK编码”, 点击“从头开始”再次访问www.baidu.com,这一次正常了。

    PS:百度首页是utf-8编码, 出错页面却是gbk编码


    注意:以上过程是访问其它网站的实验,在实际调试公众号URL时,不要勾选 “以GET方式访问URL” 和 “返回数据是GBK编码” 的选项


    嘿嘿,再神一点,访问一下www.facebook.com 给你看看, 网页一会儿就出来了,都说可以访问任何URL罗,是不是? 难道这是翻墙了?!嗯,对头!

    (不过,不好意思,调试器只是读取并显示了一下网页,并没有完成web代理的各项功能,所以是不能登录facebook的)






    对调试器源码感兴趣的童鞋, 可在我的资源中下载: 调试器源码下载


    源码只有一个文件 emulator.php , 可以装在自己的服务器上


    不解释,看源码注释吧





    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    快捷开发Web应用及小程序:点击使用

    支持亿级表,高并发,自动生成可视化后台。

    专题推荐:nbsp URL gbk baidu emulator
    上一篇: 广州市传智播客PHP培训课程 改变命运的选择 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 关于phpcms 中头像下传 那位高手说上怎么实现的• php文件上传类与详解(1/2)_PHP教程• 50条规则提高PHP开发提高效率技巧_PHP教程• php不同编码下的字符串长度区分_PHP教程• 『PHP』PHP截断函数mb_substr()使用介绍_PHP教程
    1/1

    PHP中文网