开启公众号开发者模式
来源:互联网 发布:瑞典街上帅哥知乎 编辑:程序博客网 时间:2024/04/20 09:09
第一步:必须拥有自己的服务器,有外网ip,域名要不要无所谓,像一些云服务器什么的都有免费体验的活动,可以去试一试;
第二步:登录自己公众号管理后台,如下图:
第三步:编写java代码,处理微信验证请求,这里的端口必须使用80端口,我设置的请求路径为http://ip/wechat
这里我简单地使用了Servlet,代码如下:
//微信验证默认走的get方法,下面几个参数是微信验证是传过来的
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {System.out.println("进入了验证");// 微信加密签名String signature = request.getParameter("signature");// 随机字符串String echostr = request.getParameter("echostr");// 时间戳String timestamp = request.getParameter("timestamp");// 随机数String nonce = request.getParameter("nonce");String bigStr = WxUtils.sort(TOKEN, timestamp, nonce);// SHA1加密String digest = WxUtils.SHA1(bigStr);// 确认请求来至微信if (digest.equals(signature)) { response.getWriter().print(echostr);}}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8");PrintWriter printWriter;System.out.println("进入聊天");//进入聊天printWriter=response.getWriter();// 接收消息并返回消息 // 调用核心服务类接收处理请求 String respXml = CoreService.processRequest(request); System.out.println("最终xml:"+respXml); printWriter.print(respXml); printWriter.flush(); printWriter.close();}其中用到的加密类也一起贴出来
public class WxUtils {/*** @Description: 排序方法* @author Mr.chen* @date 2017-3-7 下午01:31:28 */public static String sort(String token, String timestamp, String nonce) { String[] strArray = { token, timestamp, nonce }; Arrays.sort(strArray); StringBuilder sbuilder = new StringBuilder(); for (String str : strArray) { sbuilder.append(str); } return sbuilder.toString();}/*** @Description: 加密* @author Mr.chen* @date 2017-3-7 下午01:31:40 */public static String SHA1(String decript) {try { MessageDigest digest = MessageDigest.getInstance("SHA-1"); digest.update(decript.getBytes()); byte messageDigest[] = digest.digest(); // Create Hex String StringBuffer hexString = new StringBuffer(); // 字节数组转换为 十六进制 数 for (int i = 0; i < messageDigest.length; i++) { String shaHex = Integer.toHexString(messageDigest[i] & 0xFF); if (shaHex.length() < 2) { hexString.append(0); } hexString.append(shaHex); } return hexString.toString(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return ""; }}
下面是web.xml配置
<welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>Start</servlet-name> <servlet-class>cy.wx.servlevt.WeChatApi</servlet-class> </servlet> <servlet-mapping> <servlet-name>Start</servlet-name> <url-pattern>/wechat</url-pattern> </servlet-mapping>
代码弄完以后,就只剩下将代码编译放到服务器上面了,我这里用的是tomcat,将tomcat默认的8080端口改为80,启动tomcat后就可以在微信公众号后台点击验证按钮验证了,快去试试吧。。。。。。。。。。。。。。
0 0
- 开启公众号开发者模式
- 公众号开启开发者模式
- 【微信易信公众平台开发】开启开发者模式
- 开发者模式正式开启
- weblogic开启开发者模式
- 第二篇 :微信公众平台开发实战Java版之开启开发者模式,接入微信公众平台开发
- 第二篇 :微信公众平台开发实战Java版之开启开发者模式,接入微信公众平台开发
- PHP 微信公众号开发者模式 第三方接入
- 微信公众号开发者模式Java笔记-管理素材
- 微信公众号开发者模式 定时任务 获取ACCESS_TOKEN
- 微信公众号开发之成为开发者模式
- 微信公众号开发者模式下,怎样显示菜单?
- java微信公众号开发(1)----开发者模式
- 微信公众号开发模式开启总结
- Discuz!X开发者模式开启
- CYDIA如何开启开发者模式
- miui6如何开启开发者模式
- Magento 2开启开发者模式
- DCI 1C 和RV
- BZOJ 1670 [Usaco2006 Oct]Building the Moat护城河的挖掘 凸包
- fs_split过滤函数
- gpp-decrypt工具破解加密信息
- 设计模式系列(1)设计模式的概念与分类
- 开启公众号开发者模式
- 高并发下接口核心业务方法限流
- 中断机制
- 十进制转n进制栈和非栈两种实现方式(C语言版)
- 欢迎使用CSDN-markdown编辑器
- 遇到的问题与解决办法(tf.train.shuffle_batch与tf.train.slice_input_producer)
- 回溯法-3着色问题
- jdk7带jre已经安装过了,为何浏览器还提示要安装java插件
- sql执行计划