300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Java微信公众号高级 微信墙 JAVA折腾微信公众平台(Token验证)

Java微信公众号高级 微信墙 JAVA折腾微信公众平台(Token验证)

时间:2020-12-04 00:12:06

相关推荐

Java微信公众号高级 微信墙 JAVA折腾微信公众平台(Token验证)

JAVA折腾微信公众平台(Token验证)

JAVA折腾微信公众平台(Token验证)

独角兽企业重金招聘Python工程师标准>>>

最近微信的公众平台比较火,于是我也想弄个微信来玩玩。如何注册微信公众号?点击之后就可以看到官方的答案了(额,比较坑爹)。

注册之后,可以选择编辑模式和开发模式,这里要说的是开发模式。

首先要开启开发模式必须要进行Token的一个验证,你给出一个地址,微信发送请求,然后你给出相应,就这么简单。虽然说是简单,但是这是事后才说的,官方只有PHP的DEMO,我用JAVA开发的时候各种蛋疼不会弄,不过好在还是弄出来了。

上传代码

以下代码是校验Token的关键代码,其中还有一个SHA1加密的类在附件中,这里就不贴出来了。需要注意的是,这里的类我是继承的HttpServlet,也就是说要进行web.xml的配置,这个就不多说了。

无问题后上传到你的空间,我用的是BAE,大家也可以试试。

packagenet.binjoo.wechat;

importjava.io.IOException;

importjava.util.Arrays;

importjavax.servlet.ServletException;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

importnet.binjoo.utils.SHA1;

@SuppressWarnings("serial")

publicclassWechatCallbackApiextendsHttpServlet{

//自定义token

privateStringTOKEN="这个地方由你自己定义";

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{

//微信加密签名

Stringsignature=request.getParameter("signature");//随机字符串

Stringechostr=request.getParameter("echostr");//时间戳

Stringtimestamp=request.getParameter("timestamp");//随机数

Stringnonce=request.getParameter("nonce");

String[]str={TOKEN,timestamp,nonce};

Arrays.sort(str);//字典序排序

StringbigStr=str[0]+str[1]+str[2];//SHA1加密

Stringdigest=newSHA1().getDigestOfString(bigStr.getBytes()).toLowerCase();

//确认请求来至微信

if(digest.equals(signature)){

response.getWriter().print(echostr);

}

}

}

开启消息接口

进入微信公众平台,选择导航菜单栏中的【高级设置 - 开发模式 - 成为开发者】或者点击这里进入,进入后填写网址URL和Token,其中Token可由可以任意填写,用作生成签名,但必须与WechatCallbackApi类中的常量TOKEN一致,否则不能通过校验,成不了开发者。

一切填写无问题之后,点击提交就可以了。是否通过的结果马上就可以得到响应,希望大家都能够看到【提交成功】的提示。

下载地址

百度网盘|YUN.IO

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。