找回密码
 立即注册

QQ登录

只需一步,快速开始

微信公众号开发资源

关注:780

所属分类: 微信开发 微信公众号开发资源

本版块为微信公众号开发教程与公众号开发相关技术分享板块,技术提问请到其他对应的问答板块发帖:)

[公众号开发博客] 调试公众号服务器 - 傻瓜式微信开发教程6 - 耗子原创

  [复制链接]
查看: 38482|回复: 186
最佳答案
91 

57

主题

231

帖子

2112

积分

超级版主

Rank: 8Rank: 8

积分
2112
QQ
 楼主| 发表于 2015-8-18 11:59:17 | 显示全部楼层 |阅读模式
本帖最后由 moremorefun 于 2015-8-18 18:04 编辑

在进入正式的开发之前,我们还需要掌握微信公众号开发的调试方法.


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


幸运的是我们在网上可以找到这样一个工具`webbot-cli`,
这个工具的地址是开源的,源码地址是: https://github.com/node-webot/webot-cli/blob/master/README.md


这是一个nodejs编写的工具,要安装这个工具我们首先需要安装nodejs开发环境.
这里是nodejs的官网 https://nodejs.org/, 按照官网的指示一步步安装就OK了.


安装完成后我们可以利用`npm`工具安装这个模拟开发调试工具.
安装命令是:
  1. npm install webot-cli -g
复制代码
安装这个工具需要管理员权限,所以mac和linux用户可能需要使用`sudo`.


安装完成后我们介绍一个这个工具的使用.
我们直接在命令行调用如下命令就会开始运行这个工具,
  1. webot send --token weixin --des http://weixinshow001.sinaapp.com
复制代码
其中`weixin` 为我们之前配置的token参数,
`http://weixinshow001.sinaapp.com` 为我们公众平台的服务器地址.
大家需要把这两个参数更改为自己的.


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

1-微信调试-调试工具

1-微信调试-调试工具

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

2-微信调试-输入文字

2-微信调试-输入文字



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

3-微信调试-错误

3-微信调试-错误



原因是这样的,这个工具并未完全按照微信官方的消息格式发送,
微信官方的服务器在发送消息时并没有在GET字段中添加`echostr`项,
而这个工具会在任意一条消息发送`echostr`字段.


我们之前使用的wechat-php库是使用这个字段来判断是否是token验证特殊请求的,
如果是token验证特殊请求就会返回echostr字段并且终止后续操作,
于是造成了这个错误的产生.


现在我们修改一下我们的库来兼容这个测试库.


我们打开`Wechat.php`文件,在文件中找到`isValidateIncomingConn`函数,
这个函数是用来判断这一个请求是否是token验证请求的.
我们更改为一下内容:
游客,如果您要查看本帖隐藏内容请回复



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

4-微信调试-正确回复

4-微信调试-正确回复


基于这种调试方式,我们甚至可以再本地服务器上调试了!
基于这种调试方式,我们甚至可以再本地服务器上调试了!
基于这种调试方式,我们甚至可以再本地服务器上调试了!

只要把调试工具的url参数设置成本地url就ok了.

另外如果喜欢在外网服务器上写代码,微信官方提供的测试页也是不错的:http://mp.weixin.qq.com/debug
回复

使用道具 举报

最佳答案
0 

0

主题

7

帖子

8

积分

新人求带

积分
8
发表于 2015-8-18 15:37:53 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

最佳答案
18 

0

主题

63

帖子

412

积分

略知一二

积分
412

积极分子领域专家

发表于 2015-8-18 16:58:00 | 显示全部楼层
感谢分享
回复

使用道具 举报

最佳答案
0 

1

主题

51

帖子

61

积分

新人求带

积分
61
发表于 2015-8-19 21:18:24 | 显示全部楼层
很详细,谢谢楼主了很详细,谢谢楼主了
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

27

帖子

35

积分

新人求带

积分
35
发表于 2015-8-21 14:27:23 | 显示全部楼层
学习所需
回复

使用道具 举报

最佳答案
0 

0

主题

23

帖子

17

积分

新人求带

积分
17
发表于 2015-9-19 00:12:23 | 显示全部楼层
感谢楼主的无私奉献
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

23

帖子

17

积分

新人求带

积分
17
发表于 2015-9-19 00:12:32 | 显示全部楼层
感谢楼主的无私奉献
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

17

帖子

24

积分

新人求带

积分
24
发表于 2015-9-23 15:22:53 | 显示全部楼层
谢谢LZ分享
回复 支持 反对

使用道具 举报

最佳答案
0 

1

主题

33

帖子

247

积分

略知一二

积分
247
发表于 2015-9-24 14:57:27 | 显示全部楼层
测试 看看
回复

使用道具 举报

最佳答案
1 

1

主题

55

帖子

69

积分

新人求带

积分
69
发表于 2015-9-25 00:04:17 | 显示全部楼层
一章一章读下去
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


易域网-您身边的域名管家

henkuai.com是专业的第三方微信开发者平台,为生态而生。


本站为第三方微信开发者平台,非腾讯官方网站。

天津市滨海新区
中新生态城中成大道生态建设公寓9号楼3层301

欢迎来这里一起喝喝茶,
聊聊你的产品。

微信公众号gongzhongkaifa

工作日12小时内回复。

网站业务
zhongcong@henkuai.com

工作日12小时内回复。

市场合作
songchang@henkuai.com