java配置微信公众号基本配置【token配置】

很多人去看了开发文档都摸不着头脑,对其配置模糊不清,明明觉得配置得无误,端口号也是80等。但是就是提示出现token配置【验证】失败,到底是什么原因引起的尼?【其实最主要的原因是因为我们没有结合代码去激活】
下面我们就一起来试试看:
(1)创建一个WX_Util帮助类:【其中的token必须跟微信书写的token保持一致】

import javax.servlet.http.HttpServletRequest;
import java.security.MessageDigest;
import java.util.Arrays;

/**
 * Created by Administrator on 2018/9/18.
 * @author Administrator
 * @class WX_Util 类;
 */
public class WX_Util {
    //验证服务器地址
    public static String check_Url(HttpServletRequest request){
        //获取参数配置
        String signature = request.getParameter("signature");
        //获取时间托
        String timestamp = request.getParameter("timestamp");
        String nonce = request.getParameter("nonce");
        //获取echostr 字符
        String echostr   = request.getParameter("echostr");
        //获取token 此token跟需跟微信公众号的token一致;
        String token = "liftmooc";
        String str = "";
        // try ---- catch 捕捉异常
        try {
            //判断是否为空
            if (null != signature) {
                //声明一个存储数据字符数组
                String[] ArrTmp = { token, timestamp, nonce };
                Arrays.sort(ArrTmp);
                StringBuffer sb = new StringBuffer();
                for (int i = 0; i < ArrTmp.length; i++) {
                    sb.append(ArrTmp[i]);
                }
                //获取消息对象
                MessageDigest md = MessageDigest.getInstance("SHA-1");
                //声明一个字节流数组;
                byte[] bytes = md.digest(new String(sb).getBytes());
                //声明一个字符流
                StringBuffer buf = new StringBuffer();
                for (int i = 0; i < bytes.length; i++) {
                    if (((int) bytes[i] & 0xff) < 0x10) {
                        buf.append("0");
                    }
                    buf.append(Long.toString((int) bytes[i] & 0xff, 16));
                }
                if (signature.equals(buf.toString())) {
                    str = echostr;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        //返回消息
        return str;
    }
}

(2)创建一个访问接口类:WeixinInterfaceController

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;

/**
 * Created by Administrator on 2018/9/18.
 */
@Controller
@RequestMapping("/wxt")
public class WeixinInterfaceController extends HttpServlet {
    /**
     * 配置微信公众号基本url,使其获取到token
     * */
    @ResponseBody
    @RequestMapping("/xc")
    public void weixininter(HttpServletRequest request, HttpServletResponse response) throws Exception {
        //微信获取解析信息
        String str = WX_Util.check_Url(request);
        PrintWriter out = response.getWriter();
        //输出
        out.print(str);
        //刷新
        out.flush();
        //关闭流
        out.close();
    }
}
(3),把这个测试项目打包放在服务器上运行(使用80端口),确认可以运行后,直接登录微信公众号,进行基本配置就会提示你
配置成功了,这是你就可以启动你的服务器配置了

启用后出现这样的画面说明配置没什么问题了

具体的代码可以参考网上,亦可查找帮助文档;本文只是提供参考思路,不喜勿喷,菜鸟也需鼓励。

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值