一、微信公众号开发需要准备的一些资料以及如何搭建一个测试服务器

微信公众号开发之前,首先要有一个公众号,不同类型的公众号具备不同的接口权限。

可以看到,如果想使用微信的很多高级接口,必须是认证之后才可以。为了开发过程中调试方便,微信为我们提供了测试账号,几乎所有的高级接口都支持,非常方便。

(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

微信公众平台开发系列之必备知识相关推荐

  1. 微信公众平台开发最佳实践(第2版)

    <微信公众平台开发最佳实践 第2版> 微信公众平台开发经典之作全新改版,精心挑选最经典的商业项目开发,成千上万人次微信公众平台开发者从中受益 前言 出版说明 自从方倍工作室在博客园推出微信 ...

  2. 微信公众平台开发最佳实践

    <微信公众平台开发最佳实践>共分10章,案例程序采用广泛流行的PHP.MySQL.XML.CSS.JavaScript.HTML5等程序语言及数据库实现.系统完整地介绍微信公众平台基础接口 ...

  3. 《微信公众平台开发最佳实践》——导读

    前 言 出版说明 自从方倍工作室在博客园推出微信公众平台开发系列教程后,受到广大微信开发人员及爱好者的热情关注,相关文章的日访问量高达2万人次,而<微信公众平台开发入门教程>的阅读量超过5 ...

  4. [050] 微信公众平台开发入门视频教程已公布

    2014年4月26日晚8点.我在CSDN社区在线培训课堂解说了微信公众平台开发入门的相关知识.受到广大网友的一致好评.在此非常感谢大家的支持.课程结束后,非常多网友表示因为报名人数限制.暂时有事等原因 ...

  5. 微信公众号开发系列教程一(调试环境部署续:vs远程调试)

    微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...

  6. 微信公众平台开发——引言

    想想自己搞微信公众平台开发也有好久了,不知道出于什么原因一直也没写博客,由于一开始进入公司没搞过这方面的东西,而且一来就接手这块也是一直摸索学习中,看得最多的就是csdn柳峰的微信公众平台开发系列博客 ...

  7. 微信公众平台开发入门视频教程已发布

    2014年4月26日晚8点,我在CSDN社区在线培训课堂讲解了微信公众平台开发入门的相关知识,受到广大网友的一致好评,在此非常感谢大家的支持!课程结束后,很多网友表示由于报名人数限制.临时有事等原因, ...

  8. php 微信公众号 数据库设计,微信公众平台开发 - 数据库操作_PHP教程

    configure.php 文件内容 测试使用: 执行成功. 五.修改成可调用的函数形式(PHP MySQL) 5.1 创建数据表 //创建一个数据库表 function _create_table( ...

  9. [050] 微信公众平台开发入门视频教程已发布

    2014年4月26日晚8点,我在CSDN社区在线培训课堂讲解了微信公众平台开发入门的相关知识,受到广大网友的一致好评,在此非常感谢大家的支持!课程结束后,很多网友表示由于报名人数限制.临时有事等原因, ...

  10. 微信公众平台回复多条消息php,PHP微信公众平台开发 - 消息回复的封装_PHP教程...

    [PHP微信公众平台开发系列] 01.配置微信接口 02.公众平台示例代码分析 03.订阅事件(subscribe)处理 04.简单回复功能开发 05.天气预报功能开发 06.翻译功能开发 07.聊天 ...

最新文章

  1. Hashtable 中的键值修改问题
  2. “iloveyou88”比“ilovekale”好猜解的多
  3. ways of make process to background job
  4. linux 空硬盘,linux – dd在整个磁盘上,但不想要空的部分
  5. 亚马逊员工因龙卷风身亡 贝索斯庆祝载人飞行惹众怒
  6. ACL 2021 | 预训练模型的改进与应用
  7. Linux驱动开发基础
  8. scrt设置右键粘贴,选中复制
  9. 全国计算机一级模拟软件安装教程
  10. cad页面布局快捷键_cad布局窗口快捷键
  11. 典型相关分析(cca)原理_微生物多样研究—关联分析及系统发生进化关系
  12. Wso2 api manager 帮助文档
  13. 谷歌总是找不到想要的内容?学会这14个技巧,立马就能找到
  14. macbook air 卸载java,macbook air如何删除程序
  15. android 实现微信朋友圈文字收起与全文显示功能
  16. 深度学习中的epochs、batch_size、iterations详解
  17. 卧槽,这也真的太上头了吧
  18. 《果然新鲜》电商项目(25)- 会员唯一登录
  19. E+H悬浮物测量传感器CUS51D-AAD1A3
  20. 三阶齐次线性方程求通解_已知一个三阶常系数线性齐次微分方程的特征根

热门文章

  1. 高举5G和AI两面旗帜:紫光展锐市场峰会火爆申城
  2. 申城「三日谈」:言汇百家,思通以达(SDCC 2017上海站PPT集锦)
  3. C:L1-061 新胖子公式 (10分)
  4. ubuntu 20 安装手册
  5. Golang 逃逸分析
  6. Win10自动更新永久关闭Windows update medic service拒绝访问
  7. 操作系统和指弹吉他的联系
  8. java设计模式的六大原则
  9. 全栈工程师需要了解掌握的技术栈
  10. 使用Hutool发送工作日报