Java微信公众号--1--基本配置接入开发者模式
2017-11-25 14:25
337 查看
近期自己在研究微信公众号的开发,所以写下来以便日后自己可以观看。当然也会有很多不足,观看时如果发现有什么问题可以私我,错误的地方我会及时改正,但是目前贴上来的代码是没有问题的,执行OK
目前我这篇博客就是讲微信公众号开发如何接入开发者模式
文档这里挺简单的,我们配置下Java代码:
然后这里的令牌是我们配置的令牌,比如我们在配置令牌的时候写的是abcd 那么我们这里就写abcd
下面这是一个工具类,进行排序,和sha1加密
然后配置servlet;调用我们的工具类,
然后运行起来,记住外网要能够访问,外网要能够访问,外网要能够访问
内网穿透就行,然后工具也很多:花生壳,NATAPP,目前我用的是两个,花生壳会花个6块钱
我们后台配好了,然后我们在来基本配置,这里挺简单的,但是这里有一个坑,因为目前我们只是接入开发者模式,这里不说这个坑是什么了,后面会提出来
服务器URL:这里就是我们刚刚写的代码,将URL写到这里,比如我的:http://56i7y7.cn/weixin/wx 我就会将这个URL放到服务器地址这一栏
令牌:上面我提起过这个令牌,就是在工具类里面会写的这个令牌,这个令牌随意写就好,比如abcd
然后我们点击提交,就可以了,我选的是明文模式(当然前提是我们刚刚写的代码运行起来了)
以上代码亲测,是没有问题的
注意点:
URL的配置
Java微信公众号–2–微信菜单和消息管理
Java微信公众号–3–网页授权的一些问题
目前我这篇博客就是讲微信公众号开发如何接入开发者模式
第一步:
首先我们看下文档:他这里有四个参数,还需要进行字典排序,sha1加密文档这里挺简单的,我们配置下Java代码:
然后这里的令牌是我们配置的令牌,比如我们在配置令牌的时候写的是abcd 那么我们这里就写abcd
下面这是一个工具类,进行排序,和sha1加密
package com.util; import java.security.MessageDigest; import java.util.Arrays; public class CheckUtil { private static final String token = "令牌"; public static boolean checkSignature(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); } /** * Sha1加密方法 * @param str * @return */ public static String getSha1(String str) { if (str == null || str.length() == 0) { 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 (Exception e) { return null; } } }
然后配置servlet;调用我们的工具类,
然后运行起来,记住外网要能够访问,外网要能够访问,外网要能够访问
内网穿透就行,然后工具也很多:花生壳,NATAPP,目前我用的是两个,花生壳会花个6块钱
package com.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.util.CheckUtil; @WebServlet("/wx") public class WeixinServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String signature = req.getParameter("signature"); String timestamp = req.getParameter("timestamp"); String nonce = req.getParameter("nonce"); String echostr = req.getParameter("echostr"); PrintWriter out = resp.getWriter(); if(CheckUtil.checkSignature(signature, timestamp, nonce)){ out.print(echostr); } } /** * 消息的接收与响应 */ @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp){ } }
第二步:
因为我已经配置过了,要是没有配置过得话,旁边会有一个启用的按钮吧,好像是的我们后台配好了,然后我们在来基本配置,这里挺简单的,但是这里有一个坑,因为目前我们只是接入开发者模式,这里不说这个坑是什么了,后面会提出来
服务器URL:这里就是我们刚刚写的代码,将URL写到这里,比如我的:http://56i7y7.cn/weixin/wx 我就会将这个URL放到服务器地址这一栏
令牌:上面我提起过这个令牌,就是在工具类里面会写的这个令牌,这个令牌随意写就好,比如abcd
然后我们点击提交,就可以了,我选的是明文模式(当然前提是我们刚刚写的代码运行起来了)
以上代码亲测,是没有问题的
注意点:
URL的配置
Java微信公众号–2–微信菜单和消息管理
Java微信公众号–3–网页授权的一些问题
相关文章推荐
- 从零开发微信公众号系列 【二】开发者基本配置和接入指南
- 第二篇 :微信公众平台开发实战Java版之开启开发者模式,接入微信公众平台开发
- 开发者接入 基本配置 服务器配置 out.aspx
- 第二篇 :微信公众平台开发实战Java版之开启开发者模式,接入微信公众平台开发
- java微信公众号开发(1)----开发者模式
- 微信公共号开发教程java版——启用开发者模式,接入微信公众平台开发(二)
- 微信公众平台开发者模式(1)JAVA版接入
- 微信公众号接入指南——成为开发者配置
- 第二篇 :微信公众平台开发实战Java版之开启开发者模式,接入微信公众平台开发
- PHP 微信公众号开发者模式 第三方接入
- 用spring搭建微信公众号开发者模式下服务器处理用户消息的加密传输构架(java)
- 配置wifi为AP模式 -- 接入点hostapd基本配置
- 微信公众号入门学习1_使用C#,ASP.NET APIController如何公众号接入服务器并启动开发者模式
- JAVA微信公众号开发第1篇之环境配置与开发接入
- JAVA微信订阅号开发者模式接入(java微信开发学习笔记1)
- 微信公众号开发者模式Java笔记-管理素材
- Java开发者需坚守的十大基本准则
- Java开发者需坚守的十大基本准则
- Java开发者需坚守的十大基本准则 2007-12-12 来自:conanpaul
- Java开发者需坚守的十大基本准则