微信公众平台开发(4)--填写服务器配置并验证有效性
点此查看 微信公众号/微信网页/微信支付/企业微信/小程序开发合集及源代码下载
本文目录
- 1. 前言
- 2. 填写服务器配置
- 3. 验证有效性
- 3.1 构建项目
- 3.2 接受微信验证消息
- 3.3 提交验证
- 3.4 启用服务器配置
- 4. 小结
1. 前言
上一篇文章中说了,微信会将用户消息发送到我们(开发者)指定的服务器上。
所以我们需要通过微信公众平台,将我们的服务器信息填写上,以便微信给我们转发消息。
另外,微信也会验证下我们填写的服务器信息是否正确有效。
2. 填写服务器配置
登录微信公众平台,点击【设置与开发】-【基本配置】,点击【修改配置】如下图:
然后依次填入下列信息,注意Token自己设置一个就行,EncodingAESKey可以随机生成一个,加解密方式为了方便先选择明文模式。
最重要的是URL,我们使用之前选择的公网域名(或IP),后面的wx-server
和checkToken
分别代表接收验证消息的项目名
和接口地址
。
3. 验证有效性
此时如果我们点击提交,微信会提醒我们【请求URL超时】,这是因为微信会调用URL对应的接口来验证我们配置的服务器是否有效,也就是能不能正常的响应微信发出的消息。
3.1 构建项目
接下我们先创立wx-server项目,我们使用Maven快速构建一个Spring Boot项目,pom.xml配置如下。
注意我们用到了web和lombok两个配置,对Spring Boot和lombok不了解的同学还是需要先去了解下。
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.5.RELEASE</version><relativePath /> <!-- lookup parent from repository --></parent><groupId>cn.pandabrother</groupId><artifactId>wx-server</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><maven-jar-plugin.version>3.0.0</maven-jar-plugin.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
</project>
3.2 接受微信验证消息
接下来开发控制器,接受微信发送的消息:
@Controller
public class CheckController {@RequestMapping("/checkToken")@ResponseBodypublic String checkToken(@RequestParam("echostr") String echostr) {return echostr;}
}
根据微信官方要求:开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败
,我们此处直接返回echostr表示验证成功。
然后为了正常启动项目,配置下application.yml
:
server:port: 80 #端口servlet:context-path: /wx-server
并添加启动类:
@SpringBootApplication
public class WxServerApplication {public static void main(String[] args) {SpringApplication.run(WxServerApplication.class, args);}
}
3.3 提交验证
启动WxServerApplication ,此时我们的项目就会监听80端口,监听地址为/wx-server/checkToken
。
此时点击【基本配置】页面的【提交】按钮,因为我们的程序能正确返回要求的echostr,所以此次提交成功,我们填写的服务器配置验证通过。
3.4 启用服务器配置
服务器配置生效后,还需要启用,点击上图中的【启用】,系统提示如下,也就是说启用后,微信会正式将用户发送到公众号的消息,自动转发到我们配置的服务器URL上。
此处点击【确定】启用即可。
4. 小结
至此,我们配置的服务器已经跟微信建立了联系,另外我们也搭建了一个SpringBoot项目,用于后续开发微信公众号相关的功能。
微信公众平台开发(4)--填写服务器配置并验证有效性相关推荐
- VB.net 微信公众平台开发(一) Token验证
登录https://mp.weixin.qq.com/ 后,在公众平台后台管理页面 – 开发者中心页,点击"修改配置"按钮,填写URL.Token和EncodingAESKey,其 ...
- 接入微信公众平台开发
1.微信公众号开发准备 相关博客: https://blog.csdn.net/Abysscarry/article/details/89071469 1.注册微信公众号账号 2.开发环境准备 1.开 ...
- java开发微信公众平台(一)-- 服务器配置
微信公众平台开发好像已经火了很长一段时间,我好像有点后知后觉.但只从了解它后便有点不可收拾之势,脑袋里总想着开发一个自己的公众号,虽然不知道具体做什么. 下面就说说自己这段时间对公众号的学习. 欲善其 ...
- Java开发微信公众号(二)---开启开发者模式,接入微信公众平台开发
接入微信公众平台开发,开发者需要按照如下步骤完成: 1.填写服务器配置 2.验证服务器地址的有效性 3.依据接口文档实现业务逻辑 资料准备: 1.一个可以访问的外网,即80的访问端口,因为微信公众号接 ...
- 《微信公众平台开发:从零基础到ThinkPHP5高性能框架实践》——3.3 微信开发者中心...
本节书摘来自华章计算机<微信公众平台开发:从零基础到ThinkPHP5高性能框架实践>一书中的第3章,第3.3节,作者 方倍工作室,更多章节内容可以访问云栖社区"华章计算机&qu ...
- 微信公众平台开发入门教程[2019版]
关键字:微信公众平台开发 作者:方倍工作室 在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/JS等基础. 我们将使用微信公 ...
- 微信公众平台开发-消息管理-发送模板消息
一.模板说明 模板消息是在特定服务场景中向粉丝发送的消息,例如:信用卡刷卡通知,商品购买成功通知.不同的模板有不同的风格,某些字段可以由你来填充自己的内容(同时设定颜色),从而形成自己的消息.微信公众 ...
- 微信公众平台开发入门教程[2020版]
在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/JS等基础. 我们将使用微信公众账号方倍工作室作为讲解的例子,二维码见左侧 ...
- 微信公众平台开发入门教程
转自:http://www.cnblogs.com/txw1958/p/wechat-tutorial.html 第一章 申请服务器资源 创建新浪云计算应用 申请账号 我们使用SAE新浪云计算平台作为 ...
最新文章
- Vue.js TypeScript 支持
- Java 数组转型和范型
- 香帅的北大金融学课笔记11 -- 资产配置
- WebView点击图片看大图效果
- 【跃迁之路】【425天】程序员高效学习方法论探索系列(实验阶段182-2018.04.06)...
- java并发编程实战读书笔记3
- 磁带非但没被淘汰,容量还比硬盘大了???
- CAN:CAN矩阵、CAN网络、DBC、MDF关系
- 李开复《人工智能》读后感
- 13视频监控-01视频监控布局-videobox
- Predicting Lymph Node Metastasis Using Histopathological Images Based on Multiple Instance Learning
- 解决:SpringBoot中使用WebSocket传输数据,提示 1009|The decoded text message was too big for the output buffer and
- 修改 vscode 中主题注释中文的斜体格式
- wsl 上使用docker_首先通过在WSL和Docker中进行测试,将ASP.NET Core从Windows上的Azure应用服务迁移到Linux
- 深圳软件测试培训:软件测试的工资高还是开发者工资高?
- 08-Hibernate3.6.2 查询02 by SQL QBC QBE
- 从业务需求出发,开启IDC高效运维之路
- 客户体验的全景分析:从了解到行动
- c语言中fbfd函数,FBFD
- html5手机远程控制电脑,手机怎么远程控制电脑?手机远程控制电脑步骤详解
热门文章
- 华为ospf实验配置实例
- 【代码error】RuntimeError: 1only batches of spatial targets supported (3D tensors) but got targets of si
- 重装系统后控制面板里面没有休眠选项怎么办
- 小程序wx:if 隐藏显示时频幕闪烁问题
- HTML5基础知识习题及答案
- Feed-Forward Layers
- 想进互联网大厂,该怎么做?
- 1.ODBC连接Postgresql
- TBC、FTC、FFC全称
- 猫咪藏在哪个房间python_你家猫咪喜欢藏在哪睡觉?这只猫咪选择了一个奇怪的地方...