微信开发第一步(接入配置)
2017-07-12 10:47
218 查看
1.服务器,令牌。。
2.url访问地址
package com.tianxi.controller;
import com.tianxi.util.CheckUtil;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* Created by sq on 2017/7/12 0012.
* description:微信公众号端
*/
@Controller
@RequestMapping(value = "/weixin",produces = "application/json;charset=UTF-8")
public class WeiXinController {
/**
* 配置接入
* @param request
* @param response
* @return
* @throws IOException
*/
@RequestMapping(value = {"/index"})
@ResponseBody
public String WeiXin(HttpServletRequest request, HttpServletResponse response) throws IOException {
String signature = request.getParameter("signature");
String timestamp = request.getParameter("timestamp");
String nonce = request.getParameter("nonce");
String echostr = request.getParameter("echostr");
PrintWriter out = response.getWriter();
if (CheckUtil.checkSinature(signature, timestamp, nonce)) {
out.print(echostr);
}
out.close();
return null;
}
}
2.
只有书写以上代码才可进行微信公众号服务器配置
2.url访问地址
package com.tianxi.controller;
import com.tianxi.util.CheckUtil;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* Created by sq on 2017/7/12 0012.
* description:微信公众号端
*/
@Controller
@RequestMapping(value = "/weixin",produces = "application/json;charset=UTF-8")
public class WeiXinController {
/**
* 配置接入
* @param request
* @param response
* @return
* @throws IOException
*/
@RequestMapping(value = {"/index"})
@ResponseBody
public String WeiXin(HttpServletRequest request, HttpServletResponse response) throws IOException {
String signature = request.getParameter("signature");
String timestamp = request.getParameter("timestamp");
String nonce = request.getParameter("nonce");
String echostr = request.getParameter("echostr");
PrintWriter out = response.getWriter();
if (CheckUtil.checkSinature(signature, timestamp, nonce)) {
out.print(echostr);
}
out.close();
return null;
}
}
2.
package com.tianxi.util; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Arrays; /** * Created by sq on 2017/7/12 0012. * description: */ public class CheckUtil { private static final String token = "weixin"; public static boolean checkSinature(String signature,String timestamp,String nonce){ String[] arr = new String[]{token,timestamp,nonce}; //排序 Arrays.sort(arr); //生成字符串 StringBuffer content = new StringBuffer(); for(int i = 0;i<arr.length;i++){ content.append(arr[i]); } //sha1加密 String temp = getSha1(content.toString()); return temp.equals(signature); } public static String getSha1(String str){ if (null == str || 0 == str.length()){ return null; } char[] hexDigits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; try { MessageDigest mdTemp = MessageDigest.getInstance("SHA1"); mdTemp.update(str.getBytes("UTF-8")); byte[] md = mdTemp.digest(); int j = md.length; char[] buf = new char[j * 2]; int k = 0; for (int i = 0; i < j; i++) { byte byte0 = md[i]; buf[k++] = hexDigits[byte0 >>> 4 & 0xf]; buf[k++] = hexDigits[byte0 & 0xf]; } return new String(buf); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return null; } }
只有书写以上代码才可进行微信公众号服务器配置
相关文章推荐
- 微信开发学习笔记(第一步:)基本配置
- PHP微信公众平台开发:配置、微信api接入验证
- java微信开发API第一步 服务器接入
- 微信公众开发接入服务器的接口配置信息
- 4 配置接入验证微信公众号--开发微信的第一道坎儿
- 微信开发第一步—接入指南
- 微信开发第一步,配置基本配置
- PHP微信公众平台开发:配置、微信api接入验证
- 微信后台开发第一步:nodeJS+express接入微信后台详细教程
- java微信开发API第一步 服务器接入
- 微信后台开发第一步:nodeJS+express接入微信后台详细教程
- 用c#开发微信(1)服务号的服务器配置和企业号的回调模式 - url接入 (源码下载)
- 微信后台开发第一步:nodeJS+express接入微信后台详细教程
- 微信公众帐号开发教程第3篇-开发模式启用及接口配置
- 微信公众帐号开发教程第3篇-开发模式启用及接口配置
- Leap Motion开发第一步环境配置
- 微信开发接入
- 微信公众平台开发教程第2篇-----微信开发者接入
- 微信公众帐号开发教程第3篇-开发模式启用及接口配置(java版)