微信公众平台开发系列之必备知识
一、微信公众号开发需要准备的一些资料以及如何搭建一个测试服务器
微信公众号开发之前,首先要有一个公众号,不同类型的公众号具备不同的接口权限。
可以看到,如果想使用微信的很多高级接口,必须是认证之后才可以。为了开发过程中调试方便,微信为我们提供了测试账号,几乎所有的高级接口都支持,非常方便。
(1)申请一个微信公众平台接口测试帐号:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login,扫码登录即可。
(2)在微信开发的时候,必须要输入UR来进行token验证,而该URL必须是外网域名。因此,需要搭建服务器。为了开发调试方便,我们可以在本地搭建服务器,然后将本地服务器的接口地址对外映射。
二、搭建测试服务器
使用免费的映射工具,如下工具可以使用
1)natapp:https://natapp.cn/
2)ngrok:https://www.ngrok.cc/
3)nat123:http://www.nat123.com/
我们使用natapp来演示。
首先,打开natapp官网,下载对应版本的客户端,此处我们以Mac为例。
下载完成后,打开终端,cd到natapp所在目录,修改权限:chmod a+x natapp,之后运行:./natapp。
如果报如下的错:
原因是没有在官网注册,我们在官网注册一个账号,然后登录,登录后需要进行实名认证才能购买隧道。
映射的端口需要重点强调,微信Token验证的域名必须是80端口或443端口,如下图。所以我们此处默认就是80,这样映射的域名才能被微信访问到。
点击免费购买后,会生成authtoken:
接下来就可以正常运行natapp了,终端运行:./natapp -authtoken=你的authtoken,结果如下说明成功映射:
接下来就是在Eclipse中创建web项目,我们以最简单快速的servlet实现微信token验证。由于我们使用的是Mac,映射80端口后,不能直接访问,需要额外做一些转发配置。下一篇文章我们详细讲解步骤。
三、Mac下解决微信公众平台80端口访问问题
MAC OS是一个基于Unix的操作系统, Unix 系统大多默认情况下非root用户是无法使用小于1024的常用端口的。而微信Token验证要求域名端口是80,这时候Eclipse中启动tomcat后,开启http服务, 通过80端口直接访问是不行的,需要做一些系统端口转发的工作。
在终端下执行以下步骤:
1、创建转发配置文件 :
sudo vim /etc/pf.anchors/eclipse.tomcat.forwarding
文件内容 :
rdr pass on lo0 inet proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1 port 8080
rdr pass on lo0 inet proto tcp from any to 127.0.0.1 port 443 -> 127.0.0.1 port 8443
保存并退出。
2、创建pf-tomcat.conf文件 :
sudo vim /etc/pf-tomcat.conf
文件内容 :
rdr-anchor "forwarding"
load anchor "forwarding"from "/etc/pf.anchors/eclipse.tomcat.forwarding"
保存并退出。
3、启动
sudo pfctl -ef /etc/pf-tomcat.conf
成功启动后,会打印出以下log:
pfctl: Use of -f option, could result in flushing of rules
present in the main ruleset added by the system at startup.
See /etc/pf.conf for further details.
No ALTQ support in kernel
ALTQ related functions disabled
pf enabled
4、测试
Eclipse创建一个web工程,并配置好启动的server,启动tomcat后,默认的端口是8080,浏览器访问http://127.0.0.1/web工程名,默认是80端口,可以正常访问;8080端口加上,http://127.0.0.1:8080/web工程名, 同样可以访问。
5、关闭
sudo pfctl -d
关闭后,会打印出以下log:
No ALTQ support in kernel
ALTQ related functions disabled
pf disabled
也可以全部关闭
pfctl -F all -f /etc/pf.conf
微信公众平台开发系列之必备知识相关推荐
- 微信公众平台开发最佳实践(第2版)
<微信公众平台开发最佳实践 第2版> 微信公众平台开发经典之作全新改版,精心挑选最经典的商业项目开发,成千上万人次微信公众平台开发者从中受益 前言 出版说明 自从方倍工作室在博客园推出微信 ...
- 微信公众平台开发最佳实践
<微信公众平台开发最佳实践>共分10章,案例程序采用广泛流行的PHP.MySQL.XML.CSS.JavaScript.HTML5等程序语言及数据库实现.系统完整地介绍微信公众平台基础接口 ...
- 《微信公众平台开发最佳实践》——导读
前 言 出版说明 自从方倍工作室在博客园推出微信公众平台开发系列教程后,受到广大微信开发人员及爱好者的热情关注,相关文章的日访问量高达2万人次,而<微信公众平台开发入门教程>的阅读量超过5 ...
- [050] 微信公众平台开发入门视频教程已公布
2014年4月26日晚8点.我在CSDN社区在线培训课堂解说了微信公众平台开发入门的相关知识.受到广大网友的一致好评.在此非常感谢大家的支持.课程结束后,非常多网友表示因为报名人数限制.暂时有事等原因 ...
- 微信公众号开发系列教程一(调试环境部署续:vs远程调试)
微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...
- 微信公众平台开发——引言
想想自己搞微信公众平台开发也有好久了,不知道出于什么原因一直也没写博客,由于一开始进入公司没搞过这方面的东西,而且一来就接手这块也是一直摸索学习中,看得最多的就是csdn柳峰的微信公众平台开发系列博客 ...
- 微信公众平台开发入门视频教程已发布
2014年4月26日晚8点,我在CSDN社区在线培训课堂讲解了微信公众平台开发入门的相关知识,受到广大网友的一致好评,在此非常感谢大家的支持!课程结束后,很多网友表示由于报名人数限制.临时有事等原因, ...
- php 微信公众号 数据库设计,微信公众平台开发 - 数据库操作_PHP教程
configure.php 文件内容 测试使用: 执行成功. 五.修改成可调用的函数形式(PHP MySQL) 5.1 创建数据表 //创建一个数据库表 function _create_table( ...
- [050] 微信公众平台开发入门视频教程已发布
2014年4月26日晚8点,我在CSDN社区在线培训课堂讲解了微信公众平台开发入门的相关知识,受到广大网友的一致好评,在此非常感谢大家的支持!课程结束后,很多网友表示由于报名人数限制.临时有事等原因, ...
- 微信公众平台回复多条消息php,PHP微信公众平台开发 - 消息回复的封装_PHP教程...
[PHP微信公众平台开发系列] 01.配置微信接口 02.公众平台示例代码分析 03.订阅事件(subscribe)处理 04.简单回复功能开发 05.天气预报功能开发 06.翻译功能开发 07.聊天 ...
最新文章
- Hashtable 中的键值修改问题
- “iloveyou88”比“ilovekale”好猜解的多
- ways of make process to background job
- linux 空硬盘,linux – dd在整个磁盘上,但不想要空的部分
- 亚马逊员工因龙卷风身亡 贝索斯庆祝载人飞行惹众怒
- ACL 2021 | 预训练模型的改进与应用
- Linux驱动开发基础
- scrt设置右键粘贴,选中复制
- 全国计算机一级模拟软件安装教程
- cad页面布局快捷键_cad布局窗口快捷键
- 典型相关分析(cca)原理_微生物多样研究—关联分析及系统发生进化关系
- Wso2 api manager 帮助文档
- 谷歌总是找不到想要的内容?学会这14个技巧,立马就能找到
- macbook air 卸载java,macbook air如何删除程序
- android 实现微信朋友圈文字收起与全文显示功能
- 深度学习中的epochs、batch_size、iterations详解
- 卧槽,这也真的太上头了吧
- 《果然新鲜》电商项目(25)- 会员唯一登录
- E+H悬浮物测量传感器CUS51D-AAD1A3
- 三阶齐次线性方程求通解_已知一个三阶常系数线性齐次微分方程的特征根