1. 程式人生 > >微信“公眾平臺測試賬號”介面接入指南

微信“公眾平臺測試賬號”介面接入指南

本文主要講解微信公眾號Struts2框架進行伺服器驗證介面對接。

使用工具:MyEclipse

準備工作:

1.開啟MyEclipse,新建一個Web專案,比如“WXLocalTest”;

2.搭建Strust2框架環境,搭建方式這裡略過,不會的自己學習下Strtus2基礎。

3.準備一個域名或買一個花生殼域名

一、建立一個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

五、點選提交

這裡寫圖片描述

當出現提示修改成功和提交按鈕消失,說明配置成功了。

這裡寫圖片描述

本文由星雲原創,轉載請註明出處!
交流即分享分享才能進步!
        ——— By 星雲