java微信开发API服务器接入详解
- 微信应用
- 2024-10-14 08:34:01
这篇文章主要为大家分享了java微信开发API的第一步操作服务器接入,感兴趣的小伙伴们可以参考一下
这篇文章主要为大家分享了java微信开发api服务器接入详解,感兴趣的小伙伴们可以参考一下
微信开发API如何接入服务器,下面就为大家进行介绍
一、说明
* 本示例根据微信开发文档:http://mp.weixin.qq.com/wiki/home/index.html最新版(4/3/2016 5:34:36 PM )进行开发演示。
* 编辑平台:myeclipse10.7+win32+jdk1.7+tomcat7.0
* 服务器:阿里云 windows server 2008 64bits* 平台要求:servlet使用注解方式,平台要求:j2ee6.0+、jdk6.0+、tomcat7.0+* 演示更加注重于api解析。* 为了便于测试说明,每个测试用例为独立,不依赖于其它方法。对于封装,不多加考虑。* 演示尽可能按照API要求进行,目的:了解文档使用方式,达到举一反三的效果。* 知识要求:牢固的java基础、了解http网络通信知识、对于javaweb有足够了解、json解析* 当前时间:4/3/2016 5:32:57 PM ,以该时间为准。
二、文档原文(摘要)
文档地址:http://mp.weixin.qq.com/wiki/8/f9a0b8382e0b77d87b3bcc1ce6fbc104.html接入微信公众平台开发,开发者需要按照如下步骤完成:
1、填写服务器配置2、验证服务器地址的有效性 3、依据接口文档实现业务逻辑
三、文档理解
验证服务器地址的有效性
1、api这样介绍:
开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带四个参数:signature、timestamp、nonce、echostr开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。加密/校验流程如下: 1)、将token、timestamp、nonce三个参数进行字典序排序2)、将三个参数字符串拼接成一个字符串进行sha1加密3)、开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
2、理解
说明该请求是“GET”方式,并且访问该请求会返回四个参数:signature、timestamp、nonce、echostr。我们需要接受这几个参数,然后进行处理。如果验证成功,返回接收到的“echostr”,否则验证失败。验证方式是对接受到的token、timestamp、nonce三个参数进行字典序排序,然后进行sha1加密,最后和signature对比。 *加密后的字符串可与signature对比,如果相等【该处api可能解释不是太明白】,返回“echostr”,验证成功。
3、实现
创建一个servlet CoreServlet实现HttpServlet,重载doGet方法。参数准备
// 设置一个全局的token,开发者自己设置。api这样解释:Token可由开发者可以任意填写,// 用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)String token = "wgyscsf";// 根据api说明,获取上述四个参数String signature = req.getParameter("signature");String timestamp = req.getParameter("timestamp");String nonce = req.getParameter("nonce");String echostr = req.getParameter("echostr");java微信开发API服务器接入详解由讯客互联微信应用栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“java微信开发API服务器接入详解”