微信开发<一> 连接微信

根据开发者文档解析

微信公众平台开发者文档网址: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、依据接口文档实现业务逻辑


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值