微信开发一 : 测试号的申请及相关配置_放荡不羁的程序猿的博客-程序员资料

技术标签: 微信开发-JAVA  

测试号地址:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

开发前    建议用ngrok直接把本地开放给外网,我就是这样做的,可以本地调试,非常方便                       并将端口改为80


微信会自动分配APPID,APPSERCRET给你

接口配置信息:

     URL :  填写你自己写的验证接口   验证成功才能配置    例: http://qingtest.tunnel.qydev.com/mydemo/WXApi/Get
    Token: 自定义  

下面是URL JAVA 实现代码:
/**
* URL是开发者用来接收微信消息和事件的接口URL。Token可由开发者可以任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)
* 开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带四个参数
*
* @param signature
* @param timestamp
* @param nonce
* @param echostr
* @return
*/
public String Get(String signature, String timestamp, String nonce, String echostr) {
//读取配置文件中指定的TOKEN 与测试号配置一致
String WXAppToken = Property.GetXMLValuesByKey("/config/wechat.properties", "WXAppToken");
if (WXAppToken == null || WXAppToken.length() <= 0) {
return "请先设置Token!";
}
//该方法在下面
if (!BaseAPI.CheckSignature(WXAppToken, signature, timestamp, nonce)) {
if (echostr == null || echostr.isEmpty()) {
return "参数错误!";
}
}
return echostr;
}

根据指定规矩生成验证字符串
http://qingtest.tunnel.qydev.com/mydemo/WXApi/Get
package com.star.wechat;
import java.util.ArrayList;
import java.util.Collections;

import org.apache.commons.codec.digest.DigestUtils;
public class BaseAPI {
    /*
     * 规则描述 1. 将token、timestamp、nonce三个参数进行字典序排序 2. 将三个参数字符串拼接成一个字符串进行sha1加密
     * 3.开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
     */
    public static boolean CheckSignature(String wXAppToken, String signature, String timestamp, String nonce) {
        ArrayList<String> list = new ArrayList<String>();
        list.add(nonce);
        list.add(timestamp);
        list.add(wXAppToken);
        Collections.sort(list);
        @SuppressWarnings("deprecation")
        String sha1signature = DigestUtils.shaHex(list.get(0) + list.get(1) + list.get(2));
        return signature.equals(sha1signature);
    }
}


http://qingtest.tunnel.qydev.com/mydemo/WXApi/Get
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_26101151/article/details/53220348

智能推荐

Spring框架核心及设计思想_bug 郭的博客-程序员资料

容器不就是用来盛放东西的嘛!例如我们之间学过的。

axios携带token跨域请求_lihefei_coder的博客-程序员资料

前端在axios中配置请求头axios.defaults.headers.common['token'] = 'xxxxxxx';token模式response.setHeader("Access-Control-Allow-Origin","*");response.setHeader("Access-Control-Allow-Methods", "POST,GET,OPTIONS,...

mysql递归出所有父目录_使用单个查询(递归查询)在mysql表中查找所有父级_好运爆棚的博客-程序员资料

我有这个架构样本数据| ID | TITLE | CONTROLLER | METHOD | PARENT_ID ||----|-------------------|------------|-------------------|-----------|| 1 | Dashboard | admin | ...

轻量化卷积神经网络(SqueezeNet,MobileNet,ShuffleNet,Xception)_Jayden yang的博客-程序员资料

目录摘要SqueezeNet (AlexNet-level accuracy with 50x fewer parameters and &lt; 0.5MB model size)MobileNetShuffleNetXception总结摘要在最近阅读的一些论文中常常出现MobileNet,Xception等模块,下面将对几种轻量化卷积神经网络进行介绍,并给出论文...

PHP 常用函数集合_weixin_30247307的博客-程序员资料

PHP is_numeric() 函数由陈创建, 最后一次修改2016-12-02定义和用法is_numeric()—检测变量是否为数字或数字字符串语法bool is_numeric ( mixed $var )如果var是数字和数字字符串则返回TRUE,否则返回FALSE。参数描述var...

zigbee的发展及应用_zigbee技术发展史_c_1996的博客-程序员资料

什么是zigbee?ZigBee是基于IEEE802.15.4标准的低功耗局域网协议。根据国际标准规定,ZigBee技术是一种短距离、低功耗的无线通信技术。ZigBee译为"紫蜂",它与蓝牙相类似。是一种新兴的短距离无线通信技术,用于传感控制应用(Sensor and Control)。由IEEE 802.15工作组中提出,并由其TG4工作组制定规范。zigbee的发展历程

随便推点

运维工作常用的性能分析工具介绍_运维性能分析_persist-win的博客-程序员资料

在运维工作中常用到的性能分析工具包括:vmstat、sar、iostat、netstat、free、ps、top、mpstat以及第三方开发工具,如:dstat、collectl及淘宝的开源监控项目tsar等。1. vmstatvmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写

bat脚本打开刷新网页_bat刷新网页_shepherd_dirk的博客-程序员资料

前言网站首页有个复现率很低的bug,刷新首页时低概率出现,每次手动刷新很麻烦,于是就写了这个脚本去自动刷新页面[email protected] offrem 打开指定网站n个标签页:startset /a i+=1start chrome.exe http://www.baidu.com/if %i% leq 10 GOTO startrem vb脚本实现切换标签并强制刷新del ...

libraw使用_yayali98的博客-程序员资料

解压。zip文件设置环境变量,使编译器或者链接器能够找到库和包含文件在VS开发人员命令提示命令行下进入对应目录,运行nmake -f Makefile.msvc如果设置正确,在lib文件夹下出现两个.lib文件。在程序属性VC++目录添加对应的包含目录和库目录。在链接器输入-附加依赖项中加入.lib文件。C++ APILibraw 对象LibRaw对象一种是不带有参数,一种是带有决定

超赞!GitHub上百万下载量Java面试手册!颠覆你的认知_我是老实人辶的博客-程序员资料

金三面试不顺心,马上银四面试在即,自己复盘总觉得Java知识点很凌乱?没有合适的方法学习!今天分享这份GitHub上百万下载量Java面试手册!必将颠覆你的认知,让每位Java程序员笑傲“江湖”!,攻克大厂offer!总目录由于篇幅限制,仅展示了部分目录,想要获取完整资料的小伙伴“查看文末下载地址”即可无偿获取完整版资料哦!《Offer来了:Java面试核心知识点精讲》讲解Java程序员面试必备知识点的总结,详细讲解了JVM原理、多线程、数据结构和算法、分布式缓存、设计模式等面.

Node入门教程(5)第四章:global 全局变量_weixin_33750452的博客-程序员资料

global - 全局变量全局对象(global object),不要和 全局的对象( global objects )或称标准内置对象混淆。这里说的全局的对象是说在全局作用域里的内的对象。全局作用域包含了全局对象的属性,还有它继承来的属性。注意浏览器下的全局对象跟 nodejs 中的全局对象不一致浏览器环境下的全局对象就是windowNode 的全局对象是 global...

SAR目标检测数据集汇总_sar数据集_DID 迪的博客-程序员资料

SAR目标检测数据集汇总文章目录SAR目标检测数据集汇总1. MSTAR (1996)2. OpenSARShip2.0 (2017)3. SSDD / SSDD+ (2020)4. AIR-SARShip2.0 (2019)5. SAR-Ship-Dataset (2019)6. HRSID (2020)结尾 遥感数据集汇总链接随着深度学习在计算机视觉(CV)领域的突破,SAR图像目标检测领域也开始采用这些深度学习算法,虽然和光学图像成像机理不同,但是可以借鉴CV领域的优秀算法进行改进,目前也有很多

推荐文章

热门文章

相关标签