公众号服务器是怎么回事呢,那么公众号服务器如何调试的、下面是学习啦小编收集整理的公众号服务器如何调试,希望对大家有帮助~~

公众号服务器的调试方法

工具/原料

电脑

微信公众号

方法/步骤

如果我们完全依赖接收到的消息来进行调试,那我们将受到很多的限制,比如我们只能返回指定格式的消息才能在微信应用中看到我们回复的内容,如果我们的服务器报错,我们将无法知道确切的错误信息,所以我们需要一个能代替微信服务器来给我们的公众号服务器发送消息并且能显示我们返回的任何消息格式的工具.

幸运的是我们在网上可以找到这样一个工具`webbot-cli`,这个工具的地址是开源的,源码地址是: https://github.com/node-webot/webot-cli/blob/master/README.md这是一个nodejs编写的工具,要安装这个工具我们首先需要安装nodejs开发环境.这里是nodejs的官网 https://nodejs.org/, 按照官网的指示一步步安装就OK了.安装完成后我们可以利用`npm`工具安装这个模拟开发调试工具.安装命令是: npm install webot-cli -g

安装这个工具需要管理员权限,所以mac和linux用户可能需要使用`sudo`.

安装完成后我们介绍一个这个工具的使用.我们直接在命令行调用如下命令就会开始运行这个工具,

webot send --token weixin --des http://weixinshow001.sinaapp.com

其中`weixin` 为我们之前配置的token参数,`http://weixinshow001.sinaapp.com` 为我们公众平台的服务器地址.大家需要把这两个参数更改为自己的.

程序的运行界面长得是这个样子的:

运行成功时会回显刚才传进去的url和token.这里我们简单地测试一条text消息,选中状态下回车会进入文本输入界面.

我们随便输入一些文字,然后点击回车发送.然后我们看到一个错误,这是为啥呢?

原因是这样的,这个工具并未完全按照微信官方的消息格式发送,微信官方的服务器在发送消息时并没有在GET字段中添加`echostr`项,而这个工具会在任意一条消息发送`echostr`字段.我们之前使用的wechat-php库是使用这个字段来判断是否是token验证特殊请求的,如果是token验证特殊请求就会返回echostr字段并且终止后续操作,于是造成了这个错误的产生.现在我们修改一下我们的库来兼容这个测试库.

我们打开`Wechat.php`文件,在文件中找到`isValidateIncomingConn`函数,这个函数是用来判断这一个请求是否是token验证请求的.我们更改为一下内容:

/**

* 判断此次请求是否为验证请求

*

* @return boolean

*/

private function isValidateIncomingConn() {

// 新内容,对请求是否有POST数据进行判断

// 因为token验证请求是一个GET请求,是没有POST数据的

return isset($_GET['echostr']) and !isset($GLOBALS['HTTP_RAW_POST_DATA']);

// 以前的判断,只判断了GET字段

//return isset($_GET['echostr']);

}

完成更高后上传到SAE的服务器使之生效,然后重新在`webot`中发送文本消息,我们就可以看到正确的回显了.

10基于这种调试方式,我们甚至可以再本地服务器上调试了!基于这种调试方式,我们甚至可以再本地服务器上调试了!基于这种调试方式,我们甚至可以再本地服务器上调试了!只要把调试工具的url参数设置成本地url就ok了.

公众号服务器如何调试相关文章:

公众号下面显示一排服务器,公众号服务器如何调试相关推荐

  1. 为什么有网络微信却显示未连接服务器,设备公众号显示未连接,为什么公众号设备显示未连接?...

    设备公众号显示未连接,为什么公众号设备显示未连接?这是什么原因呢?下面跟着小编一起来看一看微信公众号暂时无法提供服务的解决方法吧! 设备公众号显示未连接,使用微信公众平台的朋友都遇到过,给微信公众号发 ...

  2. 开启微信公众号服务器后面的开发,微信公众号开发者权限 开通接口与配置服务器...

    微信公众号开发者权限 开通接口与配置服务器 作为微信公众平台的开发者,是可以修改自定义菜单的.每个公众号下端都会有三个或者是四个菜单.关于菜单的内容以及显示的方式都是可以通过后台的开发者权限更改的.如 ...

  3. 小程序关联公众号后域名和服务器,公众号被封了,关联的小程序会怎么办?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 有赞的2017年注定是不平凡的一年,仅在三月份就风波不断,一直处在风口浪尖. 先是因"二清"被央行约谈,但据有赞一个商户透露,有赞创始 ...

  4. 【CSDN】如何开启CSDN文章下的显示微信公众号、微信号、官方网站、QQ号、QQ群 ?

    开启CSDN文章下的显示微信公众号.微信号.官方网站.QQ号.QQ群 1 效果展示 微信公众号 微信号 官方网站(即公司网站) QQ号 QQ群 2 操作过程 微信公众号.微信号.官方网站(即公司网站) ...

  5. 微信小程序关注公众号模板显示隐藏问题

    微信小程序关注公众号模板显示隐藏问题 最近做了一个微信小程序内跳转关注公众号的需求,本来按照API的写法是可以直接搞定的.但是产品需求是要点击按钮之后,再弹出关注公众号组件,然后点击关闭按钮之后要关掉 ...

  6. 在微信公众号上显示指定位置的地图

    在微信公众号上显示指定位置的地图 需求:公众号获取用户上报的位置,展示出当前位置的地图 解决方案:通过公众号消息事件存储用户经纬度后,将经纬度作为参数打开腾讯地图一个可以自定义地图标记的url 链接, ...

  7. Md2All,让公众号完美显示Latex数学公式

    当公众号遇上Latex 大家都知到,公众号连代码块都不支持,更不要说功能强大的Latex公式了. 那在Md2All之前,如果想在公众号上显示Latex公式应该怎么办呢? 最通常的做法就是在某个支持La ...

  8. .Net微信开发之通过UnionID机制,解决用户在不同公众号,或在公众号、移动应用之间帐号统一问题...

    开发背景: 最近一段时间一直在做关于微信方面的网站应用开发,这段时间也收获的不少关于微信开发方面的开发技能,接触的比较多的主要有微信公众号和微信网站app第三方登录授权,以及微信会员卡,优惠券和扫描二 ...

  9. 微信公众号回调java_处理微信公众号消息回调

    1.背景 在上一节中,咱们知道如何接入微信公众号,可是以后公众号会与咱们进行交互,那么微信公众号如何通知到咱们本身的服务器呢?咱们知道咱们接入的时候提供的url是 GET /mp/entry,那么公众 ...

最新文章

  1. 【UIDynamic例子】挂起的方块
  2. 分享30个最佳 jQuery Lightbox 效果插件
  3. FFMPEG中H.264的算法文档--整理自ffmpeg论坛等
  4. 美团点评2017秋招笔试编程题
  5. SQL Server - 在SQL Server中创建ASSEMBLY
  6. php中strtotime的意思,PHP中strtotime
  7. 处理 Exception 的几种实践,很优雅,已被很多团队采纳!
  8. eclipse中MAVEN的web项目部署至TOMCAT的步骤
  9. 主板放电之后 mac 无法正常启动之谜
  10. excel小技巧之如何提取指定字符之前的字段
  11. ImageView显示图片控件介绍
  12. springboot自动装配流程图
  13. 计算机无法识别u盘,电脑无法识别U盘怎么办?简单搞定
  14. 怎么批量在文件名前面加上数字序号,对文件进行编号排序?
  15. itextpdf 怎么下划线_itext生成pdf设置下划线,itextpdf下划线,使用setUnderli
  16. 计算机硬件开关打开无线网络,如何打开电脑无线网络_如何打开无线网络连接...
  17. 让荣之学告诉你Shopee选品思路及运营方法!
  18. 无线通信安全作业1-无线通信安全最新消息
  19. 公众号怎么做?要怎么做才赚钱?
  20. 广东计算机二级考试大纲,全国计算机等级考试大纲(一级WINDOWS)

热门文章

  1. 图像采集卡和工业相机的区别是什么?
  2. 我们该何跑赢余额宝?
  3. a href=mailto:的使用总结笔记
  4. HTML问题,a href = 和 a href =#这两个有什么区别?
  5. 找代运营前店铺需要具备哪些条件?
  6. 学计算机的都是好男人,心理学:好男人的十个标准,做到4个就值得嫁了!
  7. 【动态ppt制作软件】Focusky教程 | Focusky支持添加哪些视频格式?
  8. 小米自打脸,1亿像素无意义
  9. 基于精英的多目标差分进化用于特征选择:高效冗余度量的过滤器方法
  10. C++实现最大堆和最小堆