首页 > 编程知识 正文

公众微信号怎么开通,微信公众号是怎么开通的

时间:2023-05-06 18:20:36 阅读:284987 作者:1443

微信公众号开通步骤详解 微信服务验证微信公众号接入第一步:开发URL指向的服务接口开发接口发布到外网能访问的服务 配置服务设置白名单

微信服务验证 微信公众号接入第一步:开发URL指向的服务接口 开发接口

如果想快速接通服务器配置,建议用以下demo测试下。采用spring-boot项目,代码如下。

package com.test;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.Arrays;@SpringBootApplication@RestController()public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } String TAG = "CoreServlet"; @GetMapping("wx/main") public void testConnection(HttpServletRequest req, HttpServletResponse resp) throws IOException { // 设置编码 req.setCharacterEncoding("utf-8"); resp.setContentType("html/text;charset=utf-8"); resp.setCharacterEncoding("utf-8"); // 获取输出流 PrintWriter printWriter = resp.getWriter(); // 设置一个全局的token,开发者自己设置。api这样解释:Token可由开发者可以任意填写, // 用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性) String token = "大气的太阳"; // 根据api说明,获取上述四个参数 String signature = req.getParameter("signature"); String timestamp = req.getParameter("timestamp"); String nonce = req.getParameter("nonce"); String echostr = req.getParameter("echostr"); // // temp:临时打印,观看返回参数情况 System.out.println(TAG + ":signature:" + signature + ",timestamp:" + timestamp + ",nonce:" + nonce + ",echostr:" + echostr); // 根据api所说的“加密/校验流程”进行接入。共计三步 // 第一步:将token、timestamp、nonce三个参数进行字典序排序 String[] parms = new String[]{token, timestamp, nonce};// 将需要字典序排列的字符串放到数组中 Arrays.sort(parms);// 按照api要求进行字典序排序 // 第二步:将三个参数字符串拼接成一个字符串进行sha1加密 // 拼接字符串 String parmsString = "";// 注意,此处不能=null。 for (int i = 0; i < parms.length; i++) { parmsString += parms[i]; } // sha1加密 String mParms = null;// 加密后的结果 MessageDigest digest = null; try { digest = java.security.MessageDigest.getInstance("SHA"); } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); } digest.update(parmsString.getBytes()); byte messageDigest[] = digest.digest(); // Create Hex String StringBuffer hexString = new StringBuffer(); // 字节数组转换为 十六进制 数 for (int i = 0; i < messageDigest.length; i++) { String shaHex = Integer.toHexString(messageDigest[i] & 0xFF); if (shaHex.length() < 2) { hexString.append(0); } hexString.append(shaHex); } mParms = hexString.toString();// 加密结果 /* * api要求: 若确认此次GET请求来自微信服务器,请原样返回echostr参数内容, 则接入生效, 成为开发者成功,否则接入失败。 */ // 第三步: 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信接入成功。 System.out.println(TAG + ":" + mParms + "---->" + signature); if (mParms.equals(signature)) { System.out.println(TAG + ":" + mParms + "---->" + signature); printWriter.write( echostr); } else { // 接入失败,不用回写 System.out.println(TAG + "接入失败"); } } } 发布到外网能访问的服务

只要确保网络能通就可以。telnet ip:port测试联通性。

配置服务

如下所示配置服务。


并开启服务。

设置白名单

如果发起请求,后台将会出现以下报错,则表示需要配置白名单。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。