首页 > 代码库 > 微信开发平台001

微信开发平台001

今天学了微信开发平台,服务器选用百度的云开发,使用的语言是java。

(1)微信接口验证

      在网上找了很多代码,发现之前很多不能用,现将试验成功的记录下来:

          

package com.zhaohao.weixin.common;


public class SHAUtile {
    private final int[] abcde = {0x67452301, 0xefcdab89, 0x98badcfe,
            0x10325476, 0xc3d2e1f0};
    // 摘要数据存储数组
    private int[] digestInt = new int[5];
    // 计算过程中的临时数据存储数组
    private int[] tmpData = http://www.mamicode.com/new int[80];>servlet如下:

package com.zhaohao.weixin.servlet;

import com.zhaohao.weixin.common.ConstantPrameters;
import com.zhaohao.weixin.common.SHAUtile;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;

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


@SuppressWarnings("serial")
public class WeiXinTokenServlet extends HttpServlet {
    // 自定义 token
    private String TOKEN = "susheshow";

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        try {
            // 微信加密签名
            String signature = request.getParameter("signature");
            // 随机字符串
            String echostr = request.getParameter("echostr");
            // 时间戳
            String timestamp = request.getParameter("timestamp");
            // 随机数
            String nonce = request.getParameter("nonce");

            String[] str = {ConstantPrameters.weixin_token, timestamp, nonce};
            Arrays.sort(str); // 字典序排序
            String bigStr = str[0] + str[1] + str[2];
            // SHA1加密
            String digest = new SHAUtile().getDigestOfString(bigStr.getBytes()).toLowerCase();

            // 确认请求来至微信
            if (digest.equals(signature)) {
                response.getWriter().print(echostr);
            }
        } catch (Exception e) {
            PrintWriter out = response.getWriter();
            out.print("微信token验证失败!!");
        }
    }
}

(2)部署到百度云上边

选用的是tomcat7 + jdk7环境,部署有两种方式,一种是直接命令行打成ROOT.war  , 另外就是新建一个ROOT的文件,下面放WEB-INF这些文件夹。

命令行打war包 

将Web应用打包成WAR文件的方法: (1)在命令行中运用Jar命令 假定有一个Web应用:C:/myHome myHome/WEB-INF/…… myHome/files/…… myHome/image/…… myHome/src/…… myHome/index.jsp 
在命令行窗口下执行如下命令: C:/>cd myHome 
C:/myHome/>jar      cvf      myhome.war      *.*/     . 
解释:jar      cvf      [A->war包名].war   [B->资源文件及文件夹]      [C->将要生成war包的目标文件夹] 
“*.*/”(B->)代表当前目录(C:/myHome)下的所有文件及文件夹。 “.”    (C->)表明将要在当前目录中生成war包。 
操作完成后,找到C:/myHome下新生成的myhome.war,将其拷入TOMCAT_HOME/webapps/下。然后启动Tomcat即可。

(3)微信提交URL和token 即可成为开发者