热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

微信/易信公共平台开发(四):公众号调试器(仿真微信平台,提供PHP源码)开发微信/易信公共平台时,调试往往很麻烦,一般只能在手机上边试边改,或在服务器写日志。当你的服务器脚本有Bug时,手机上没有显示,追查是不容易的。我在开发过程中,编写了一个调试器,能仿
微信/易信公共平台开发(四):公众号调试器 (仿真微信平台,提供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 , 可以装在自己的服务器上


不解释,看源码注释吧






推荐阅读
  • 解决phpMyAdmin运行错误:mysqli_init(): 属性访问尚未允许
    本文探讨了在使用phpMyAdmin过程中遇到的mysqli_init()函数错误,并提供了有效的解决方案。 ... [详细]
  • 在 PHP 4, PHP 5 和 PHP 7 中,fstat 函数用于获取已打开文件指针的文件统计信息。此函数与 stat() 类似,但其操作对象为已打开的文件指针而非文件名称。 ... [详细]
  • 本文详细介绍了在PHP中如何创建新文件以及如何使自定义函数在整个项目中全局可用的方法,包括最新的实践技巧。 ... [详细]
  • 本文探讨了在执行SQL查询时遇到的因字符集不同而导致查询结果差异的问题,特别是涉及中文字符时。文章分析了在不同字符集设置下,SQL查询结果的变化,并提供了详细的解决方案。 ... [详细]
  • HTML中用于创建表单的标签是什么
    本文将详细介绍HTML中用于创建表单的标签及其基本用法,包括表单的主要特性和常用的属性设置。如果您正在学习HTML或需要了解如何在网页中添加表单,这将是一个很好的起点。 ... [详细]
  • KKCMS代码审计初探
    本文主要介绍了KKCMS的安装过程及其基本功能,重点分析了该系统中存在的验证码重用、SQL注入及XSS等安全问题。适合初学者作为入门指南。 ... [详细]
  • 本文详细记录了《PHP与MySQL Web开发》第一章的学习心得,特别关注了PHP的基本构成元素、标记风格、编程注意事项及表单处理技巧等内容。 ... [详细]
  • 使用Inno Setup将EXE与JRE封装为Windows安装程序
    本文详细介绍了如何利用Inno Setup工具将EXE文件及Java运行环境(JRE)整合为适用于Windows操作系统的安装程序。我们将提供必要的软件下载链接,并逐步指导您完成整个打包过程。 ... [详细]
  • 致信息安全爱好者的成长指南
    本文旨在为信息安全爱好者提供一份详尽的成长指南,涵盖从学习心态调整到具体技能提升的各个方面。 ... [详细]
  • 本文旨在介绍Three.js的基础概念及其应用场景。Three.js是一个基于WebGL的JavaScript库,用于在网页上创建和显示3D图形。文中将从Canvas的基本功能出发,探讨其局限性,并引出WebGL及Three.js的解决方案。 ... [详细]
  • 本文详细探讨了在不同服务器上运行的PHP程序如何成功连接MySQL数据库的方法,包括常见的连接失败原因及解决方案。 ... [详细]
  • 本文详细介绍了MySQL中关于员工数据库的基础知识、操作技巧以及常见问题的解决方案,适合初学者和有一定基础的用户阅读。 ... [详细]
  • chrome安装reactdevtools开发工具
    我开始安装react-devtools的时候百度了一波,都是写的不清不楚,官网又都是英文的也不是完全理解,经过一番折腾出来以后,写个文档记录一下,也可避免新手首次安装走弯路我安装react-devtools的前提是本地安装了git以及node我相信准备学react的同学,应该都有了解使用1.首先打开官网:https:github.comfacebook ... [详细]
  • 在近期的百度大数据开放会议上,计算机科学领域的专家怀进鹏教授的演讲引发了广泛关注。尽管演讲内容高深复杂,但对于那些对计算机科学和人工智能领域有所了解的人来说,这场演讲无疑揭示了未来技术发展的无限可能性。 ... [详细]
  • Spring Boot 应用程序实现开机自启的步骤
    本文介绍如何将Spring Boot项目打包成的JAR文件配置为系统启动时自动运行的方法,包括创建批处理文件和设置任务计划等步骤。 ... [详细]
author-avatar
爱林希02
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有