微信开发 连接微信

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/BR6688/article/details/51143329

根据开发者文档解析

微信公众平台开发者文档网址:http://mp.weixin.qq.com/wiki/8/f9a0b8382e0b77d87b3bcc1ce6fbc104.html

1、填写服务器配置

申请一个接口测试号

根据nat123获得URL =外网域名/工程名/servlet名

token=在验证服务地址程序的token

应用类型:80(http)网站

端口号:8088

内网域名(本地ip)

获得外网域名

登陆测试号成功后填入接口配置信息URL和token{在访问servlet后返回500错误就可以配置成功,如果在显示500错误还不成功,就一直点提交,直到显示配置成功}

配置成功后就可以连接微信了,扫一扫自己的测试二维码就可以进行

2、验证服务器地址的有效性

参数 描述
signature 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
timestamp 时间戳
nonce 随机数
echostr 随机字符串
public class ValidateTools {
	public static  String token = "hxjywx";
	public static boolean checkSignature(String signature, String timestamp, String nonce)
	{
		String[] str = new String[]{token,timestamp,nonce};
		Arrays.sort(str);
		StringBuilder builder = new StringBuilder();
		for (String string : str) {
			builder.append(string);
		}
		MessageDigest md = null;
		String result = null;
		try {
			md = MessageDigest.getInstance("SHA-1");
			byte[] digest = md.digest(builder.toString().getBytes());
			result = bytesToStr(digest);
			System.out.println(result );
		} catch (Exception e) {
			// TODO: handle exception
		}
		
		return result !=null?(result.equals(signature.toUpperCase())):false;
	}
	private static String bytesToStr(byte[] digest) {
		String strDigest = "";
		for (byte b : digest) {
			strDigest += bytesToHexStr(b);
		}
		// TODO Auto-generated method stub
		return strDigest;
	}
	private static String bytesToHexStr(byte b) {
		char[] digit = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
		char[] temp=new char[2];
		temp[0] = digit[(b>>>4)&0X0F];
		temp[1] = digit[b & 0X0F];
		String s = new String(temp);
		// TODO Auto-generated method stub
		return s;
	}
}

3、依据接口文档实现业务逻辑


展开阅读全文

没有更多推荐了,返回首页