wechat-0010,微信公众号,接入微信公众平台

demo:https://github.com/wenrongyao/wechat-demo

接入准备:

 1、有一个能在公网上访问的项目

     可以用内网穿透(推荐使用natapp),微信接入必须使用80端口或443端口,某壳现在需要花钱才能使用80端口,果断放弃

natapp的使用文章,参考博客 http://www.cnblogs.com/shirui/p/7308856.html

2、有一个微信公众号,个人可以申请订阅号,没有的话不妨申请一个,也可以申请微信号接口测试号

    微信官网 https://mp.weixin.qq.com/

3、策略文件 报illegal key size异常时见

    博客:http://www.cnblogs.com/shirui/p/7411735.html

4、微信的加密解密包,从企业微信的加解密包扩展而来,筒子们可以下载企业微信(我的企业微信博客中)自己改造,也可以下载我改造好的。

    下载链接:https://download.csdn.net/download/wrongyao/10393783

5、微信公众平台api

      https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432

开始接入

1、找到微信公众号后台,开发/基本配置/服务器配置

依此填写三个参数,url需要接入的接口,token和EncodingAESkey,后面两个必须和自己项目上写的保持一致

2、项目结构,添加微信的加密解密包,下图aes包下的内容,另外需要添加code依赖

需要添加依赖

<dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.10</version>
</dependency>

 3、EntryController控制器的开发

import com.wechat.constant.Constant;
import com.wechat.util.aes.AesException;
import com.wechat.util.aes.WXBizMsgCrypt;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletRequest;/*** Created by rongyaowen on 2018/9/10.*/
@RestController
public class EntryController {@RequestMapping(value = "/entrance")public String entryTest(HttpServletRequest request) throws Exception {// 微信加密签名String msgSignature = request.getParameter("signature");// 时间戳String timeStamp = request.getParameter("timestamp");// 随机数String nonce = request.getParameter("nonce");// 随机字符串String echoStr = request.getParameter("echostr");String result = null;try {// 创建加密类 token ENCODINGAESKEY APPID换成自己公众号信息WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(Constant.WechatAccount.TOKEN, Constant.WechatAccount.ENCODINGAESKEY, Constant.WechatAccount.APPID);// 比对msgSignature 用token, timeStamp, nonce加密的参数是否一致,一致证明该接口来自微信,异常则不是来自微信result = wxcpt.verifyUrl_WXGZ(msgSignature, Constant.WechatAccount.TOKEN, timeStamp, nonce, echoStr);} catch (AesException e) {e.printStackTrace();} finally {return result;}}
}

根据微信公众平台的api可以知道大致校验逻辑如下

1)将token、timestamp、nonce三个参数进行字典序排序

2)将三个参数字符串拼接成一个字符串进行sha1加密

3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

4)返回echoStr则表示接入成功

4、返回值的综述

 

相信看完上面的返回值echoStr,大家有那么点疑惑。这个echoStr是在微信公众号平台传入的随机数,可以直接获取。那是不是可以直接返回echoStr呢,答案是可以的,直接返回这个值,可以直接接入。

那么问题来了,为什么还需要做加密解密等一系列操作呢?

为了安全起见,我们需要判断一个陌生的链接是不是来自微信,通过上述的做法就可以实现。也算是一种反爬虫手段

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/53546.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信公众平台测试帐号申请及Token验证地址提供

1、浏览器打开微信公众平台测试帐号申请地址&#xff1a;https://mp.weixin.qq.com/debug/cgi-bin/sandbox?tsandbox/login&#xff0c; 通过微信扫一扫授权就能进入到测试号管理页面。 上面图中 有个接口配置信息 需要你自己有服务器提供接口来接收微信的token验证 配置了验…

微信开放平台,公众号第三方平台接入

微信开放平台和公众平台的区别 开放平台是网站或app使用的接口平台&#xff0c;利用开放平台可在自己的网站或app上开发微信帐户登录、微信分享等功能&#xff01; 公众平台是微信号的一种&#xff0c;也具有开发功能&#xff0c;是在公众号中开发出更多功能&#xff0c;例如微…

抑郁症前期如何治疗,有哪些方法?

随着社会的告诉发展&#xff0c;越来越多的人因为不喜欢职场上的花花绕绕&#xff0c;喜欢独自待在家里&#xff0c;不管是做什么&#xff0c;发呆也好&#xff0c;追剧也罢&#xff0c;总之拒绝和人交流沟通就可以。久而久之&#xff0c;就容易形成一个性格孤僻、不喜欢与人交…

脑电植入:治疗抑郁症的新方法?重磅!UCSF研究人员成功治疗一例重度抑郁症患者

患者 Sarah 在诊所与精神病学家 Katherine Scangos 在一起 © Maurice Ramirez&#xff0c;UCSF Sarah多年来饱受着严重且无法治愈的抑郁症的折磨。她说:“我每天都强迫自己克制自杀冲动&#xff0c;而这种冲动每小时就会出现好几次。” 近日&#xff0c;加州大学旧金山分校…

好心情医生:精神病性症状≠精神分裂症

01 幻觉和妄想是最常见的精神病性症状 精神病性症状有哪些&#xff1f;哪些疾病会出现精神病性症状&#xff1f;我们通常说的精神病性症状&#xff0c;就是经常提到的认知方面的异常&#xff0c;如感知觉异常&#xff0c;如出现幻听、幻视、幻嗅等幻觉&#xff1b;思维内容异…

抑郁症要身心同治

来源&#xff1a;中国数字科技馆 “没有人对抑郁症有绝对的免疫力。”著名心理学家马丁塞利曼将抑郁症称为精神病学中的“感冒”。世界卫生组织预计&#xff0c;到2020年抑郁症将跃至全球第二大疾病&#xff0c;自杀是其最可怕的症状。抑郁症可导致躯体各种功能的障碍&#xf…

抑郁症维持期治疗应维持多久?如何管理患者发生停药反应的风险?

抑郁症的治疗往往需要一个比较长的治疗阶段&#xff0c;其中维持期是抑郁症治疗的非常重要的一个阶段&#xff0c;同时&#xff0c;也是很多患者在维持期选择放弃了治疗&#xff0c;甚至有一些学者会认为维持期的时间过长&#xff0c;不利于患者的服药依从性。那么抑郁症维持期…

好心情发布《2022国民抑郁症蓝皮书》

抑郁症是全球常见病&#xff0c;据世界卫生组织数据显示&#xff0c;全球抑郁症患者高达3.22亿。据最新的流行病学调查数据估算&#xff0c;我国抑郁症患者将近5000万&#xff0c;新冠疫情后&#xff0c;抑郁症的患病人数更是大幅增加。但事实上&#xff0c;大众对于抑郁症的了…

好心情心理咨询:抑郁焦虑,都是反刍思维惹的祸,4招打破

&#xff08;图源&#xff1a;网络&#xff09; 武林外传中佟掌柜的口头禅让人上头&#xff0c;其实这话我们也老说&#xff0c;常常每到夜晚就开启“网抑云”模式&#xff0c;脑中就滚动播放这些微不足道的憾事&#xff0c;而且还是重播&#xff01; 网络上戏称人生憾事归结…

好心情互联网医院:抑郁症一直吃药,为何还会复发?

原标题&#xff1a;抑郁症一直吃药&#xff0c;为何还会复发?如何才能终身不复发? 一位抑郁症病友在网上分享了自己患病25年的经历&#xff1a; 我是1995年被确诊了抑郁症&#xff0c;吃了两个月的药后&#xff0c;我觉得自己又活过来了&#xff0c;之后就没再坚持吃药&#…

会议报道丨心语心“悦”——抑郁症诊疗进展“大咖”谈(三)

2022年10月27日&#xff0c;灵北中国举办的心语心“悦”——抑郁症诊疗进展“大咖”谈系列会议第三期于线上圆满召开。本次大会邀请到中南大学湘雅二医院的李凌江教授、首都医科大学附属北京安定医院的张玲教授、武汉大学人民医院的刘忠纯教授和南京医科大学附属脑科医院的姚志…

好心情:抑郁症治疗究竟需要花多少钱?

最近&#xff0c;后台一名刚患病的抑郁症患者小K留言给好心情小编&#xff0c;原文是这样的&#xff1a; 感觉自己已经得了抑郁症&#xff0c;但是自己家庭条件并不是很好&#xff0c;自己最近一两年也没有工作&#xff0c;因此也没有医疗保险。抑郁症治疗会不会很贵&#xff0…

JAMA Psychiatry:老年抑郁症患者的神经影像学、认知、临床症状和遗传学的异质性表征

重要性&#xff1a;老年抑郁症&#xff08;LLD&#xff09;的临床表现具有相当大的异质性。揭示这种异质性可能有助于阐明LDD的发病机制&#xff0c;并有助于精准和个性化治疗LDD。 目的&#xff1a;横向和纵向描述与神经解剖学、认知功能、临床症状和遗传图谱相关的LLD异质性…

老年期抑郁症的机制及治疗

抑郁症对生理疾病易感&#xff0c;并促进端粒缩短、大脑衰老和表观遗传衰老等生理衰老。同时&#xff0c;生理疾病还增加了老年抑郁症的风险。抑郁症的老化相关的病程变化和疾病相关的病程变化是相关的&#xff0c;并产生了相应的致病假设和提供了治疗方向。比如&#xff0c;在…

数据分析的种类及其在会计行业的应用

​逝者如斯&#xff0c;不舍昼夜。过去的已经过去&#xff0c;无法改变&#xff0c;但你仍需为未来努力。对于公司而言&#xff0c;这就是数据分析发挥作用的地方。 数据分析通过研究一组原始数据得出能指导未来行动的结论。数据包括历史记录&#xff0c;研究报告&#xff0c;行…

信息化条件下会计档案电子化的最新要求,企业管理和财务工作或将再次迎来变革

随着互联网、大数据、云计算、区块链接等信息技术的应用和电子商务的快速发展&#xff0c;信息化、电子化已经成为时代发展的主要趋势。会计档案电子化的实施极大地改善了信息管理的水平&#xff0c;提高了档案信息的利用率和共享率&#xff0c;因此如何推动会计档案电子化的进…

简述使用计算机对会计工作的影响,会计电算化对会计工作的影响有哪些

会计电算化对会计工作的影响有哪些 会计电算化也叫计算机会计&#xff0c;是指以电子计算机为主体的信息技术在会计工作的应用&#xff0c;具体而言&#xff0c;就是利用会计软件&#xff0c;指挥在各种计算机设备替代手工完成或在手工下很难完成的会计工作过程&#xff0c;会计…

【明天股票会涨吗?】

股票明天会涨吗&#xff1f; 以中证&#xff15;&#xff10;&#xff10;为例的股指涨跌预测&#xff11;.数据的获取&#xff12;.数据的处理&#xff13;.模型训练与求解4.结果与反思&#xff15;.结语 最近真的是啥都一片绿啊&#xff0c;股票也、基金也、哎&#xff01;说…

YAML和JSON对比

1️⃣YAML是什么干什么的? YAML 是You are my love 的缩写 YAML(YAML Ain’t Markup Language),YAML 是一种简洁的非标记语言 1、YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。 2、YAML是一种可读的文本的数据结构,它的设计目标是使人们容…

【NLP相关】Transformer模型:从Seq2Seq到自注意力机制(Transformer原理、公式推导和案例)

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…