微信公众平台开发(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>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

3.2 接受微信验证消息

接下来开发控制器,接受微信发送的消息:


@Controller

public class CheckController {

@RequestMapping("/checkToken")

@ResponseBody

public String checkToken(@RequestParam("echostr") String echostr) {

 return echostr;

}

}

1

2

3

4

5

6

7

8

根据微信官方要求:开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败,我们此处直接返回echostr表示验证成功。


然后为了正常启动项目,配置下application.yml:


server:

  port: 80 #端口

  servlet:

     context-path: /wx-server

1

2

3

4

并添加启动类:


@SpringBootApplication

public class WxServerApplication {

public static void main(String[] args) {

 SpringApplication.run(WxServerApplication.class, args);

}

}

1

2

3

4

5

6

3.3 提交验证

启动WxServerApplication ,此时我们的项目就会监听80端口,监听地址为/wx-server/checkToken。


此时点击【基本配置】页面的【提交】按钮,因为我们的程序能正确返回要求的echostr,所以此次提交成功,我们填写的服务器配置验证通过。




3.4 启用服务器配置

服务器配置生效后,还需要启用,点击上图中的【启用】,系统提示如下,也就是说启用后,微信会正式将用户发送到公众号的消息,自动转发到我们配置的服务器URL上。


此处点击【确定】启用即可。



4. 小结

至此,我们配置的服务器已经跟微信建立了联系,另外我们也搭建了一个SpringBoot项目,用于后续开发微信公众号相关的功能。

相关文章
|
4月前
|
存储 安全 JavaScript
服务器验证Cookie
【8月更文挑战第21天】
73 1
|
5月前
|
小程序
尝试使用阿里云服务器搭建微信小程序
华北电力大学核工程大一学生,出于对编程的热爱与大创项目需求,涉足微信小程序搭建。初期在实验指导下克服不熟悉编程的困难,但后期发现教程引导不足,尤其是对于代码定位缺乏清晰指引。建议加强网页图像指导,以适应不同编程水平用户,尤其是新手。
尝试使用阿里云服务器搭建微信小程序
|
5月前
|
网络安全
嗯… 无法访问此页面43.139.210.211 花了太长时间进行响应,无法连接宝塔,是服务器内的宝塔面板开启了ssl的验证,但是没有绑定证书,所以被拦截,关闭宝塔面板的ssl访问认证恢复正常
嗯… 无法访问此页面43.139.210.211 花了太长时间进行响应,无法连接宝塔,是服务器内的宝塔面板开启了ssl的验证,但是没有绑定证书,所以被拦截,关闭宝塔面板的ssl访问认证恢复正常
支付系统35-----支付成功异步通知----数据锁,微信那边是有一个服务器集群的,不单单是有一个通知发送过来,有可能有两台更多台的服务器发送过来,把锁加到我们处理通知里面,在对业务数据进行状态检查和
支付系统35-----支付成功异步通知----数据锁,微信那边是有一个服务器集群的,不单单是有一个通知发送过来,有可能有两台更多台的服务器发送过来,把锁加到我们处理通知里面,在对业务数据进行状态检查和
|
5月前
|
移动开发 JavaScript
thinkPHP5.0开发微信H5页面分享接口signature验证失败,signature与微信 JS 接口签名校验工具返回结果不一致
thinkPHP5.0开发微信H5页面分享接口signature验证失败,signature与微信 JS 接口签名校验工具返回结果不一致
93 0
|
5月前
|
PHP 开发工具
tp5+微信公众号服务器配置时使用官方sdk还是token验证失败
tp5+微信公众号服务器配置时使用官方sdk还是token验证失败
47 0
|
6月前
|
Java API
java进行微信公众号开发
java进行微信公众号开发
158 0
|
2天前
|
人工智能 JSON Linux
利用阿里云GPU加速服务器实现pdf转换为markdown格式
随着AI模型的发展,GPU需求日益增长,尤其是个人学习和研究。直接购置硬件成本高且更新快,建议选择阿里云等提供的GPU加速型服务器。
利用阿里云GPU加速服务器实现pdf转换为markdown格式
|
1天前
|
开发框架 缓存 .NET
阿里云轻量应用服务器、经济型e、通用算力型u1实例怎么选?区别及选择参考
在阿里云目前的活动中,价格比较优惠的云服务器有轻量应用服务器2核2G3M带宽68元1年,经济型e实例2核2G3M带宽99元1年,通用算力型u1实例2核4G5M带宽199元1年,这几个云服务器是用户关注度最高的。有的新手用户由于是初次使用阿里云服务器,对于轻量应用服务器、经济型e、通用算力型u1实例的相关性能并不是很清楚,本文为大家做个简单的介绍和对比,以供参考。
|
9天前
|
弹性计算 运维 安全
阿里云轻量应用服务器与ECS的区别及选择指南
轻量应用服务器和云服务器ECS(Elastic Compute Service)是两款颇受欢迎的产品。本文将对这两者进行详细的对比,帮助用户更好地理解它们之间的区别,并根据自身需求做出明智的选择。

热门文章

最新文章