zoukankan      html  css  js  c++  java
  • 微信/易信公共平台开发(四):公众号调试器 (仿真微信平台,提供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 , 可以装在自己的服务器上


    不解释,看源码注释吧





  • 相关阅读:
    java基础知识回顾之---java String final类构造方法
    java基础知识回顾之---java String final类普通方法
    递归的理解
    跟着牛人学习
    【轻松学排序算法】眼睛直观感受几种常用排序算法
    《PhotoShop CS6 》第一节 矢量与分辨率
    SQL 查询当天,本月,本周的记录
    SQL创建表脚本
    varchar和Nvarchar区别
    [C#] 我的log4net使用手册
  • 原文地址:https://www.cnblogs.com/james1207/p/3395216.html
Copyright © 2011-2022 走看看