微信“公众平台测试账号”接口接入指南

本文主要讲解微信公众号Struts2框架进行服务器验证接口对接。

使用工具:MyEclipse

准备工作:

1.打开MyEclipse,新建一个Web项目,比如“WXLocalTest”;

2.搭建Strust2框架环境,搭建方式这里略过,不会的自己学习下Strtus2基础。

3.准备一个域名或买一个花生壳域名

如果使用花生壳内网映射可参考孔浩微信公众号开发教程第一课即可:http://www.konghao.org/video/1118

一、创建一个action类来实现”接入微信公众平台开发“

比如新建一个action类 InitWX.java:

package com.xingyun.actions;

import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.Arrays;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;
import com.xingyun.utils.SecurityKitUtils;

public class InitWX extends ActionSupport {
    /**
     * 
     */
    private static final long serialVersionUID = -333592169745279630L;
    private static final String TOKEN="xingyun";
    @Override
    public String execute() throws Exception {
        // TODO Auto-generated method stub
         // 获取请求和响应
        HttpServletRequest request = ServletActionContext.getRequest();
        HttpServletResponse response = ServletActionContext.getResponse();

        //获取请求参数
        String signature = request.getParameter("signature");
        String timestamp = request.getParameter("timestamp");
        String nonce = request.getParameter("nonce");
        String echostr = request.getParameter("echostr");

        //1.构造字符串数组
        String[] arr={InitWX.TOKEN,nonce,timestamp};
        //2.字符串数组排序
        Arrays.sort(arr);
        //3.将排序后的三个字符串拼接成一个字符串
        StringBuffer sb=new StringBuffer();
        for (String str :arr) {
            sb.append(str);
        }

        String sha1=SecurityKitUtils.sha1(sb.toString());

        //System.out.println(sha1.equals(signature));
        if(sha1.equals(signature))
        {
                try {
                    OutputStream os = response.getOutputStream();
                    BufferedWriter resBr = new BufferedWriter(new OutputStreamWriter(os));
                    resBr.write(echostr);
                    resBr.flush();
                    resBr.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
        }
        return null;
    }

}

二、创建一个sha1加密算法工具类

SecurityKitUtils .java

package com.xingyun.utils;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class SecurityKitUtils {
    public static String sha1(String str) {
        try {
            StringBuffer sb=new StringBuffer();
            MessageDigest messageDigest=MessageDigest.getInstance("sha1");
            messageDigest.update(str.getBytes());
            byte[] msg=messageDigest.digest();
            for (byte b : msg) {
                sb.append(String.format("%02x",b));
            }
            return sb.toString();
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return null;
    }
}

三、配置strtust2.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
   <!--配置包时必须指定name属性,该属性值可以任意取名,但必须唯一。 -->
   <package name="test" extends="struts-default">

      <!-- 获取微信服务器验证-->
      <action name="WXInit" class="com.xingyun.actions.InitWX">
      </action>

   </package>

</struts>

四、填写URL和Token

URL
http://mywebchat.ticp.net/WXLocalTest/WXInit
Token
xingyun
注意:这里的Token要和上面写的后台代码中的保持一致。

五、点击提交

这里写图片描述

当出现提示修改成功和提交按钮消失,说明配置成功了。

这里写图片描述

本文由星云原创,转载请注明出处!
交流即分享分享才能进步!
        ——— By 星云

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客星云

谢谢认可,希望对你的学习有帮助

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值