点此查看 微信公众号/微信网页/微信支付/企业微信/小程序开发合集及源代码下载

本文目录

  • 1. 前言
  • 2. 填写服务器配置
  • 3. 验证有效性
    • 3.1 构建项目
    • 3.2 接受微信验证消息
    • 3.3 提交验证
    • 3.4 启用服务器配置
  • 4. 小结

1. 前言

上一篇文章中说了,微信会将用户消息发送到我们(开发者)指定的服务器上。

所以我们需要通过微信公众平台,将我们的服务器信息填写上,以便微信给我们转发消息。

另外,微信也会验证下我们填写的服务器信息是否正确有效。

2. 填写服务器配置

登录微信公众平台,点击【设置与开发】-【基本配置】,点击【修改配置】如下图:

然后依次填入下列信息,注意Token自己设置一个就行,EncodingAESKey可以随机生成一个,加解密方式为了方便先选择明文模式。

最重要的是URL,我们使用之前选择的公网域名(或IP),后面的wx-servercheckToken分别代表接收验证消息的项目名接口地址

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)--填写服务器配置并验证有效性相关推荐

  1. VB.net 微信公众平台开发(一) Token验证

    登录https://mp.weixin.qq.com/ 后,在公众平台后台管理页面 – 开发者中心页,点击"修改配置"按钮,填写URL.Token和EncodingAESKey,其 ...

  2. 接入微信公众平台开发

    1.微信公众号开发准备 相关博客: https://blog.csdn.net/Abysscarry/article/details/89071469 1.注册微信公众号账号 2.开发环境准备 1.开 ...

  3. java开发微信公众平台(一)-- 服务器配置

    微信公众平台开发好像已经火了很长一段时间,我好像有点后知后觉.但只从了解它后便有点不可收拾之势,脑袋里总想着开发一个自己的公众号,虽然不知道具体做什么. 下面就说说自己这段时间对公众号的学习. 欲善其 ...

  4. Java开发微信公众号(二)---开启开发者模式,接入微信公众平台开发

    接入微信公众平台开发,开发者需要按照如下步骤完成: 1.填写服务器配置 2.验证服务器地址的有效性 3.依据接口文档实现业务逻辑 资料准备: 1.一个可以访问的外网,即80的访问端口,因为微信公众号接 ...

  5. 《微信公众平台开发:从零基础到ThinkPHP5高性能框架实践》——3.3 微信开发者中心...

    本节书摘来自华章计算机<微信公众平台开发:从零基础到ThinkPHP5高性能框架实践>一书中的第3章,第3.3节,作者 方倍工作室,更多章节内容可以访问云栖社区"华章计算机&qu ...

  6. 微信公众平台开发入门教程[2019版]

    关键字:微信公众平台开发 作者:方倍工作室 在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/JS等基础. 我们将使用微信公 ...

  7. 微信公众平台开发-消息管理-发送模板消息

    一.模板说明 模板消息是在特定服务场景中向粉丝发送的消息,例如:信用卡刷卡通知,商品购买成功通知.不同的模板有不同的风格,某些字段可以由你来填充自己的内容(同时设定颜色),从而形成自己的消息.微信公众 ...

  8. 微信公众平台开发入门教程[2020版]

    在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/JS等基础. 我们将使用微信公众账号方倍工作室作为讲解的例子,二维码见左侧 ...

  9. 微信公众平台开发入门教程

    转自:http://www.cnblogs.com/txw1958/p/wechat-tutorial.html 第一章 申请服务器资源 创建新浪云计算应用 申请账号 我们使用SAE新浪云计算平台作为 ...

最新文章

  1. Vue.js TypeScript 支持
  2. Java 数组转型和范型
  3. 香帅的北大金融学课笔记11 -- 资产配置
  4. WebView点击图片看大图效果
  5. 【跃迁之路】【425天】程序员高效学习方法论探索系列(实验阶段182-2018.04.06)...
  6. java并发编程实战读书笔记3
  7. 磁带非但没被淘汰,容量还比硬盘大了???
  8. CAN:CAN矩阵、CAN网络、DBC、MDF关系
  9. 李开复《人工智能》读后感
  10. 13视频监控-01视频监控布局-videobox
  11. Predicting Lymph Node Metastasis Using Histopathological Images Based on Multiple Instance Learning
  12. 解决:SpringBoot中使用WebSocket传输数据,提示 1009|The decoded text message was too big for the output buffer and
  13. 修改 vscode 中主题注释中文的斜体格式
  14. wsl 上使用docker_首先通过在WSL和Docker中进行测试,将ASP.NET Core从Windows上的Azure应用服务迁移到Linux
  15. 深圳软件测试培训:软件测试的工资高还是开发者工资高?
  16. 08-Hibernate3.6.2 查询02 by SQL QBC QBE
  17. 从业务需求出发,开启IDC高效运维之路
  18. 客户体验的全景分析:从了解到行动
  19. c语言中fbfd函数,FBFD
  20. html5手机远程控制电脑,手机怎么远程控制电脑?手机远程控制电脑步骤详解

热门文章

  1. 华为ospf实验配置实例
  2. 【代码error】RuntimeError: 1only batches of spatial targets supported (3D tensors) but got targets of si
  3. 重装系统后控制面板里面没有休眠选项怎么办
  4. 小程序wx:if 隐藏显示时频幕闪烁问题
  5. HTML5基础知识习题及答案
  6. Feed-Forward Layers
  7. 想进互联网大厂,该怎么做?
  8. 1.ODBC连接Postgresql
  9. TBC、FTC、FFC全称
  10. 猫咪藏在哪个房间python_你家猫咪喜欢藏在哪睡觉?这只猫咪选择了一个奇怪的地方...