微信公众号开发-客户端侧-服务器URL认证 Java版
2016-12-15 16:31
330 查看
https://mp.weixin.qq.com/wiki
OAUTH2.0 接入详见:
http://blog.csdn.net/z69183787/article/details/50674902
<%@ page import="java.util.List" %> <%@ page import="java.util.ArrayList" %> <%@ page import="java.util.Collections" %> <%@ page import="java.util.Comparator" %> <%@ page import="java.security.MessageDigest" %> <%@ page import="com.xxxxx.xxxxx.brand.wx.util.SHA1" %> <%@ page import="java.io.IOException" %> <%@ page import="com.xxxxx.xxxxx.brand.wx.util.HttpClientUtil" %> <%@ page import="com.xxxxx.xxxxx.brand.wx.util.WxUtil" %> <%@ page import="com.xxxxx.xxxxx.brand.wx.bean.AccessTokenResult" %> <%@ page import="com.xxxxx.xxxxx.brand.wx.bean.UserInfoResult" %> <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %> <%! private String access(HttpServletRequest request, HttpServletResponse response) { // 验证URL真实性 System.out.println("进入验证access"); String signature = request.getParameter("signature");// 微信加密签名 String timestamp = request.getParameter("timestamp");// 时间戳 String nonce = request.getParameter("nonce");// 随机数 String echostr = request.getParameter("echostr");// 随机字符串 List<String> params = new ArrayList<String>(); params.add("zhoushun"); params.add(timestamp); params.add(nonce); // 1. 将token、timestamp、nonce三个参数进行字典序排序 Collections.sort(params, new Comparator<String>() { @Override public int compare(String o1, String o2) { return o1.compareTo(o2); } }); // 2. 将三个参数字符串拼接成一个字符串进行sha1加密 String temp = SHA1.encode(params.get(0) + params.get(1) + params.get(2)); if (temp.equals(signature)) { //response.getWriter().write(echostr); System.out.println("成功返回 echostr:" + echostr); return echostr; } System.out.println("失败 认证"); return null; } %> <% System.out.println("进入chat"); boolean isGet = request.getMethod().toLowerCase().equals("get"); if (isGet) { String signature = request.getParameter("signature"); String timestamp = request.getParameter("timestamp"); String nonce = request.getParameter("nonce"); String echostr = request.getParameter("echostr"); System.out.println(signature); System.out.println(timestamp); System.out.println(nonce); System.out.println(echostr); out.println(access(request, response)); }else { // 进入POST聊天处理 System.out.println("enter post"); } %> <html> <body> <h2>Hello World!</h2> </body> </html>
OAUTH2.0 接入详见:
http://blog.csdn.net/z69183787/article/details/50674902
相关文章推荐
- Java客户端通过HttpURLConnection连接Web服务器的Session保存问题
- Java和Android Http连接程序:使用java.net.URL 下载服务器图片到客户端
- 微信开发实战(4)—URL、Token认证、java源码、免费新浪SAE部署
- java微信公众号开发,认证,自定义菜单,消息推送,网页跳转
- 客户端与服务器SSL双向认证(客户端:java-服务端:java)
- java微信公众号开发 - 微信服务器的接入和验证
- java微信公众号开发学习笔记(一)——vps购买及tomcat服务器搭建
- 使用C# .net开发微信公众号之服务器URL配置
- Java和Android Http连接程序:使用java.net.URL 下载服务器图片到客户端
- [置顶] Android开发之下载服务器上的一张图片到本地java代码实现HttpURLConnection
- Java和Android Http连接程序:使用java.net.URL 下载服务器图片到客户端
- 浅谈用Java微信公众号开发时向微信服务器发送JSON数据包返回47001错误码问题
- Java客户端通过HttpURLConnection连接Web服务器的Session保存问题
- Java和Android Http连接程序:使用java.net.URL 下载服务器图片到客户端
- 微信开发 PC搭建服务器 开发 微信公众号【Java版本】
- 企业级搜索应用服务器Solr4.10.4部署开发详解(3)- Solr使用-使用java客户端solrj进行增删改查开发
- java开发微信公众号认证来源mukewang
- 微信公众号开发 配置服务器URL,验证Token
- 关于ThinkPHP框架开发微信公众号在微信后台配置服务器URL提示Token验证失败的解决方案
- 走进Java Web开发 ——客户端与服务器的交互原理