微信公众号基本配置之服务器配置

这篇具有很好参考价值的文章主要介绍了微信公众号基本配置之服务器配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

hello各位好,这里是X,今天来玩玩微信公众号,我最近看过很多关于公众号的资料和视频,感觉讲的比较乱,也可能是我个人的问题,而且微信公众号的开发者文档讲的也比较模糊一点,毕竟上面很多例子都讲的不是很全面的
这篇博客作为开篇吧,希望喜欢的朋友多多点赞收藏🥂

基本配置

公众号基本配置传送门

完成的效果

微信公众号基本配置之服务器配置

服务器篇

这里很多博主或者视频教程用的可能是express或者XXapp之类的,我觉得还是直接弄真实的就好,不然还需要配置服务器、监听服务器之类的,比较麻烦

🔔🔔🔔(可参考)本项目用到的同款服务器轻量通用型2核4G

准备好服务器后,开通好对应的端口号,不过这里默认应该是开启的,因为微信公众号只接受80或者443端口,这两个端口主要是服务器一般都是开启状态的💇‍♀️💇‍♀️

后台开通

微信公众号开发文档传送门🍊

以下是开发文档截图

微信公众号基本配置之服务器配置

验证逻辑

大致的验证流程:就是你自己定义一个Token,然后写好一个接口(get请求),在这里微信怎么和你进行验证,也就是你怎么知道这个请求是微信发过来的呢?这里的关键就是signature(加密签名),微信会将上面的4个参数传给你,经过你的加密校验后,如果得到的签名和微信传过来的那个签名是一致的,那么就验证成功

主要用到的依赖

   <!-- https://mvnrepository.com/artifact/com.alibaba.fastjson2/fastjson2 -->
        <dependency>
            <groupId>com.alibaba.fastjson2</groupId>
            <artifactId>fastjson2</artifactId>
            <version>2.0.13</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.13</version>
        </dependency>
        <dependency>

验证的工具类

package com.xmonster.util;

/**
 * @program: official-account
 * @description: CheckUtil工具类
 * @author: xmonster_大魔王
 * @create: 2022-09-13 22:06
 **/

import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.stereotype.Component;

import java.util.Arrays;

/**
 * 校验的工具类   微信使用
 */
@Component
public class CheckUtil {

    private static final String token = "xmonster"; //这个token值要和服务器配置一致

    public static boolean checkSignature(String signature, String timestamp, String nonce) {

        String[] arr = new String[]{token, timestamp, nonce};
        // 排序
        Arrays.sort(arr);
        // 生成字符串
        StringBuilder content = new StringBuilder();
        for (int i = 0; i < arr.length; i++) {
            content.append(arr[i]);
        }

        // sha1加密
        String temp = getSHA1String(content.toString());

        return temp.equals(signature); // 与微信传递过来的签名进行比较
    }

    private static String getSHA1String(String data) {
        // 使用commons codec生成sha1字符串
        return DigestUtils.shaHex(data);
    }
}

接口

package com.xmonster.controller;

import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.xmonster.entity.AlarmParamsDTO;
import com.xmonster.service.PushMessageService;
import com.xmonster.util.CheckUtil;
import com.xmonster.util.HttpClientUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;

/**
 * @program: official-account
 * @description: 微信服务接口
 * @author: xmonster_大魔王
 * @create: 2022-09-13 22:05
 **/
@RestController
@RequestMapping("/weixin")
public class WeixinServlet extends HttpServlet {

    /**
     * 微信用户token认证
     * @param request
     * @param response
     * @throws ServletException
     * @throws IOException
     */
    @Override
    @RequestMapping(value = "/index", method = {RequestMethod.GET})
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        // 接收微信服务器以Get请求发送的4个参数
        String signature = request.getParameter("signature");
        String timestamp = request.getParameter("timestamp");
        String nonce = request.getParameter("nonce");
        String echostr = request.getParameter("echostr");

        PrintWriter out = response.getWriter();
        if (CheckUtil.checkSignature(signature, timestamp, nonce)) {
            out.print(echostr);        // 校验通过,原样返回echostr参数内容
        } else {
            System.out.println("不是微信发来的请求!");
        }
    }
}

到这里我们将这个项目的端口号改为80,然后打成jar包,丢到服务器/home路径

微信公众号基本配置之服务器配置

通过XShell,将这个java项目启动起来就好

启动好了之后我们去微信公众号配置
这个接口用的也是上面的(一一对应哈),token你随便定义就好
微信公众号基本配置之服务器配置

好啦,这里的配置就到这里结束了,保存好之后,退到基本设置,启用它即可~
后续会带来关于微信公众号更多的功能,下期见文章来源地址https://www.toymoban.com/news/detail-453272.html

到了这里,关于微信公众号基本配置之服务器配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信公众号启用了服务器配置如何自定义菜单?

    微信公众号(服务号)启用了服务器配置,如何自定义菜单呢? 当我们启用了服务器配置,公众号的默认的自定义菜单就会失效。其实我们可以通过调用API接口来完成自定义菜单功能的配置。 微信公众号自定义菜单接口文档:微信开放文档 目录 一、获取Access_TOKEN 二、创建

    2024年02月09日
    浏览(45)
  • .net8+webapi+sqlsugar基本配置;“连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确”异常

    1、引入sqlsugar的nugat包 2、封装一个操作类(参考sqlsugar官方文档) 3、配置program.cs和appsettings program.cs加上下面代码  appsettings配置连接字符串 4、新建一个控制台生成实体类 5、添加测试的controller 6、swagger调试抛异常 7、修改csproj文件中,仅适用.net 8(参考sqlsugar官方文档)  8、

    2024年03月15日
    浏览(45)
  • 本地搭建微信小程序或者公众号开发服务器的简单方法

    现在小程序开发需要购买服务器,价格还是有点贵的,这里好代码网分享一个可以花费小代价就可以搭建一个本地服务器,可以用来开发小程序和微信公众号等。 1.域名(备案过的) 2.阿里云注册免费的https证书 3.配置本地的nginx 4.内网映射(本地安装wampserver 服务器) 一、域

    2024年02月02日
    浏览(44)
  • 国内服务器 3 分钟将 ChatGPT 接入微信公众号(超详细)

    最近很火的 ChatGPT 可以说已经满大街可见了,到处都有各种各样的体验地址,有收费的也有免费的,总之是五花八门、花里胡哨。 所以呢,最近我就在研究怎么才能方便快捷的体验到ChatGPT的强大功能,其中一个就是:把ChatGPT接入公众号。毕竟公众号是一种非常流行的社交媒

    2024年02月21日
    浏览(72)
  • 【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github

    前面的文章我们搭建了微信公众号开发的服务器,写了一点代码。后面肯定会对代码不断的完善和迭代,那怎样维护这些代码呢? 可以通过GitHub进行维护和版本管理。 本文主要带你从0开始构建起服务器和GitHub仓库之间的联系。 本文假设你已经略懂基本的 git 指令: git init

    2024年02月02日
    浏览(59)
  • 【SpringCloud篇】Eureka服务的基本配置和操作

    Eureka是Netflix开源的一个基于REST的服务治理框架,主要用于实现微服务架构中的服务注册与发现。它由Eureka服务器和Eureka客户端组成, 其中Eureka服务器负责维护整个系统的服务实例信息,而Eureka客户端则负责向Eureka服务器注册自身信息,并从Eureka服务器获取其他服务实例的信

    2024年02月05日
    浏览(30)
  • 微信小程序配置服务器域名

    在开发微信小程序实现导出功能时用到了微信小程序的API--downloadFile,发现在开发工具上正常,但是在真机上不起作用,后来发现是这个api需要在后台配置服务器域名,下面是配置域名的步骤。 1、登录微信公众平台:https://mp.weixin.qq.com/ 2、在开发目录下选择开发管理中的开发

    2024年02月11日
    浏览(30)
  • 微信小程序如何配置服务器域名

    要在微信小程序中配置服务器域名,您需要按照以下步骤进行操作: 登录微信公众平台(https://mp.weixin.qq.com/)。 进入小程序管理后台。 在左侧菜单中选择\\\"开发\\\",然后选择\\\"开发设置\\\"。 在\\\"服务器域名\\\"一栏中,点击\\\"修改\\\"按钮。 在\\\"request 合法域名\\\"一栏中,点击\\\"+\\\"按钮添加您

    2024年02月21日
    浏览(36)
  • 6.2.5 网络基本服务----动态主机配置协议DHCP

    6.2.5 网络基本服务----动态主机配置协议DHCP 动态主机配置协议允许一台计算机加入新的网络时可自动获取网络配置信息,不用人工参与。连网的计算机需要配置的参数包括 IP地址 子网掩码 默认路由器的IP地址 域名服务器IP地址 DHCP与DNS、FTP、Telnet一样也采用客户服务器模式。

    2024年02月16日
    浏览(27)
  • 微信小程序之本地网络服务器配置

    我们开发小程序的时候一般都会用到后台服务,为了调试方便都希望可以使用本地服务器来进行网络通讯,本篇就介绍一下该如何配置,其实非常简单: 1. 去你的小程序管理平台-开发管理-开发设置,添加网络中真实可用的https域名 ,比如https://www.baidu.com(但是不推荐用百度

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包