微信/易信公共平台开发(四):公众号调试器 (仿真微信平台,提供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罗,是不是? 难道这是FQ了?!嗯,对头!
(不过,不好意思,调试器只是读取并显示了一下网页,并没有完成web代理的各项功能,所以是不能登录facebook的)
对调试器源码感兴趣的童鞋, 可在我的资源中下载: 调试器源码下载
源码只有一个文件 emulator.php , 可以装在自己的服务器上
不解释,看源码注释吧
微信/易信公共平台开发(四):公众号调试器 (仿真微信平台,提供PHP源码)的更多相关文章
- 微信/易信公共平台开发(二):自定义菜单的PHP实现(提供源码)
微信把公众号分成订阅号和服务号两种,服务号可以自定义菜单, 菜单大大方便了用户操作. 比如:公众服务号 "中国南方航空" 的自定义菜单如下图: 点菜单就可以直接进入操作了,方便! ...
- Java微信公众平台开发之公众号支付(微信内H5调起支付)
官方文档点击查看准备工作:已通过微信认证的公众号,必须通过ICP备案域名(否则会报支付失败)借鉴了很多大神的文章,在此先谢过了 整个支付流程,看懂就很好写了 一.设置支付目录 在微信公众平台设置您的公 ...
- 第七篇 :微信公众平台开发实战Java版之如何获取微信用户基本信息
在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的.对于不同公众号,同一用户的openid不同). 公众号可通过本接口来根据O ...
- 第六篇 :微信公众平台开发实战Java版之如何自定义微信公众号菜单
我们来了解一下 自定义菜单创建接口: http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_to ...
- Java开发微信公众号(三)---微信服务器请求消息,响应消息,事件消息以及工具处理类的封装
在前面几篇文章我们讲了微信公众号环境的配置 和微信公众号服务的接入,接下来我们来说一下微信服务器请求消息,响应消息以及事件消息的相关内容,首先我们来分析一下消息类型和返回xml格式及实体类的封装. ( ...
- Java开发微信公众号(五)---微信开发中如何获取access_token以及缓存access_token
获取access_token是微信api最重要的一个部分,因为调用其他api很多都需要用到access_token.比如自定义菜单接口.客服接口.获取用户信息接口.用户分组接口.群发接口等在请求的时候 ...
- 公众号H5页面接入微信登录流程
公众号H5页面接入微信登录流程 源码地址 https://gitee.com/szxio/h5_weixin 起步 首先创建一个项目,我们采用uni-app来作为我们的前端框架 环境安装 全局安装vu ...
- 【公众号系列】SAP HANA 平台的优势
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[公众号系列]SAP HANA 平台的优势 ...
- php 微信登录 公众号 获取用户信息 微信网页授权
php 微信登录 公众号 获取用户信息 微信网页授权 先自己建立两个文件: index.php 和 getUserInfo.php index.php <?php //scope=snsap ...
随机推荐
- 理解裸机部署过程ironic
部署物理机跟部署虚拟机的概念在nova来看是一样,都是nova通过创建虚拟机的方式来触发,只是底层nova-scheduler和nova-compute的驱动不一样.虚拟机的底层驱动采用的libvir ...
- NOIP2017 D2T3列队
这题我改了三天,考场上部分分暴力拿了50,考完试发现与正解很接近只是没写出来. 对于每一行和最后一列建n+1颗线段树,维护前缀和. 复杂度qlogn 假如你移动一个坐标为(x,y)的人,你要将第x行线 ...
- bzoj 1051 强连通分量
反建图,计算强连通分量,将每个分量看成一个点,缩点后的图是一个DAG,如果是一棵树,则根代表的连通分量的大小就是答案,否则答案为0. 收获: 图的东西如果不好解决,可以尝试缩点(有向图将每个强连通分量 ...
- DP经典 BZOJ 1584: [Usaco2009 Mar]Cleaning Up 打扫卫生
BZOJ 1584: [Usaco2009 Mar]Cleaning Up 打扫卫生 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 419 Solve ...
- PHP -- 简单表单提交
网上看博文,一步步入门~~ 简单表单,简单提交 @_@!! <?php //php代码部分开始 echo "<html>"; echo "<hea ...
- CDOJ 1307 ABCDE 前缀和优化dp
ABCDE 题目连接: http://acm.uestc.edu.cn/#/problem/show/1307 Description Binary-coded decimal (BCD) is a ...
- CROC 2016 - Elimination Round (Rated Unofficial Edition) A. Amity Assessment 水题
A. Amity Assessment 题目连接: http://www.codeforces.com/contest/655/problem/A Description Bessie the cow ...
- axios 与 Jquery-ajax 的使用区别
axios 和 ajax 的使用方法基本一样,只有个别参数不同: 附:axios 中文文档 一.axios axios({ url: 'http://jsonplaceholder.typicode. ...
- CentOS包管理yum常用命令(转)
一.安装 yum install 全部安装yum install package1 安装指定的安装包package1yum groupinsall group1 安装程序组group1 二.更新和升级 ...
- 如何更新phpStorm SVN项目地址
公司内网服务器换了IP地址,导致phpStorm 中的SVN更新不上去 如何在phpStorm中配置SVN这里就不赘述了,网上很多,自行百度 这里说一下如何更改phpStorm 中SVN地址 找到项目 ...