微信公众号开发(—)接口与服务器关联

微信公众号开发(—)

以下都是借鉴的微信公众平台的文档加老师指点和自行的理解。

1.一台有微信的手机.(别问我老人机可以不 有微信就可以!!!)
2.需要有一个微信公众平台的测试号(订阅号,服务号也可以按自己需求来).
3.还需要一个能联网并且配置域名(万网购买)的服务器。
大家可能会问为什么。下面这个图。说明了他们之间的关系。
在这里插入图片描述
以上都准备好的话开始准备阿里云环境(最好是一个全新的环境)不会配置环境看一下我的另一篇文章。怎么安装composer和laravel框架。
都准备就绪后下载一个phpstorm(自行百度下载破解版本),使他本地与服务器可以连接。

—、设置接口(使测试号和服务器有联系)

(1)去微信公众平台接口配置信息点击修改
在这里插入图片描述
URL:填写我们服务器地址
Token:随便命名

token简单理解可以说是一个通行证,用来验证微信公众平台和服务器之间是否有联系(就好比土匪头子对暗号。因为你不知道他是敌是友。只有暗号对了,才能证明你确实是友。)

东北土匪的那些黑话《智取威虎山》剪辑

tips:但是现在点击提交会说配置失败。是因为服务器还有没有验证消息是否来自微信服务器
(2)验证消息的确来自微信服务器(下面都是粘贴复制微信公众平台的接入概述 也可以自己去微信公众平台查看)

开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带参数如下表所示:

参数描述
signature微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
timestamp时间戳
nonce随机数
echostr随机字符串

开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。加密/校验流程如下:

1)将token、timestamp、nonce三个参数进行字典序排序 2)将三个参数字符串拼接成一个字符串进行sha1加密 3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

检验signature的PHP示例代码:

 //public function wechat(){//接收随机字符串$echostr = request()->get('echostr','');//验证signature正确性if($this->checkSignature()){echo $echostr;}}//验证signature正确性private function checkSignature(){$signature = request()->get("signature");$timestamp = request()->get("timestamp");$nonce = request()->get("nonce");$token = "wechat";$tmpArr = array($token, $timestamp, $nonce);sort($tmpArr, SORT_STRING);$tmpStr = implode( $tmpArr );$tmpStr = sha1( $tmpStr );if( $tmpStr == $signature ){return true;}else{return false;}}

现在再点击提交按钮就提示配置成功了。

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

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

相关文章

nodejs支持ssi实现include shtml页面

express 对于include的代码默认不处理&#xff0c;直接输出&#xff0c;没办法执行include的内容&#xff0c;但可以通过Nginx实现。 1、 配置nginx设置开启ssi模式。 server {…ssi on;ssi_silent_errors on;ssi_types text/shtml;… 2、添加include页面 <!--# include vi…

Windows PC软件反编译逆向破解

文章目录 一.OllyDbg工具简介二.OllyDbg分析Crakeme示例1三.OllyDbg分析Crakeme示例2四.总结作者的github资源&#xff1a; 系统安全&#xff1a;https://github.com/eastmountyxz/SystemSecurity-ReverseAnalysis网络安全&#xff1a;https://github.com/eastmountyxz/Networ…

微信公众号天气与聊天机器人小功能

微信公众号小功能 以下都是借鉴的微信公众平台的文档加老师指点和自行的理解。 &#xff08;1&#xff09;微信公众号发送地区回复现在和未来五天天气情况 &#xff08;2&#xff09;发送语音和智能机器人聊天 一、调用天气预报接口 实现微信公众号发送地区回复现在和未来五天…

安卓app逆向破解脱壳教程

From&#xff1a;Hook 神器家族的 Frida 工具使用详解&#xff1a;https://blog.csdn.net/FlyPigYe/article/details/90258758 详解 Hook 框架 frida ( 信抢红包 )&#xff1a;https://www.freebuf.com/company-information/180480.html APP逆向神器之Frida【Android初级篇】…

关注微信公众号使其自动发送欢迎你关注消息

关注微信公众号使其自动发送欢迎你关注消息 一般我们关注微信公众号时。他都会自动推送一条消息。欢迎您关注了某公众号。而今天我们所做的就是这个功能。 关注公众号时我们需要获取到用户的一些个人基本信息。 而获取基本信息就要看他的运行原理。到底是怎么运行。 当我们申请…

微信公众号——永久素材的上传

微信公众号永久素材的上传 思路&#xff1a;1.需要上传到本地&#xff08;因为后面需要用的本地的绝对路径 2.上传到微信服务器 3.添加信息到本地数据库 一、上传图片到本地 文件上传的方法 以下是我的代码 首先更改文件上传的配置 而后写我们的文件上传方法 if (request…

安卓逆向之基于Xposed-ZjDroid脱壳 逆向分析(脱壳)

安卓逆向——某力播逆向分析(脱壳) 一、环境 这一步真的头疼&#xff0c;环境很重要&#xff0c;各种测试&#xff0c;一下是我测试的环境&#xff0c;由于没有真机&#xff0c;就拿虚拟机做测试 1. Xposed 2. FDex2 3. fiddler 4. 软件 二、抓包 通过 …

安卓逆向代码反混淆 Simplify工具 JEB2反混淆神器

【技术分享】Android程序反混淆利器——Simplify工具 https://www.anquanke.com/post/id/85388 发布时间&#xff1a;2017-01-23 17:21:23 问题背景 Android程序代码混淆是Android开发者经常用来防止app被反编译之后迅速被分析的常见手法。在没有混淆的代码中&#xff0c;被…

Vmware虚拟机的安装和使用

安装虚拟机 一、安装虚拟机Vmware Workstation 下一步 下一步 如果C盘剩余空间大&#xff08;大于50G&#xff09;&#xff0c;可安装在C盘 二、在虚拟机中安装Linux系统&#xff1a; 准备工作&#xff1a; Linux系统镜像文件&#xff08;ISO文件&#xff09; 1 、新建虚拟机…

【项目经验】如何用TexturePacker Physicseditor开发游戏

首先感谢Andreas的license。先广告一下Andreas。 -----------------------------------------------------------------------------------------http://www.codeandweb.com/texturepacker - The sprite sheet creator turns chaos into orderhttp://www.codeandweb.com/physic…

smbd的安装与使用

文件共享服务软件 samba 安装与配置 安装了samba服务的主机&#xff0c;可以将文件共享给其它用户&#xff0c;其它用户可以对文件进行读写操作。 安装 以Ubuntu Linux为例 1、 安装 2、 检查是否安装成功 启动 samba服务&#xff1a; 查看samba服务状态&#xff1a; 3、 添…

Laravel-admin 分类避免踩坑

一、模型层引入 use Encore\Admin\Traits\AdminBuilder; use Encore\Admin\Traits\ModelTree; 在方法中使用 use ModelTree,AdminBuilder; 最终代码为 <?phpnamespace App\Model;use Illuminate\Database\Eloquent\Model; use Encore\Admin\Traits\AdminBuilder; use Enco…

python使用python-barcode生成任意长度字符串的条形码(一维码)详细教程

使用python-barcode生成一维码 1.安装python包 pip install Pillow pip install python-barcode2.实例程序 # -*- coding: utf-8 -*-import barcode import random from barcode.writer import ImageWriter import os from PIL import Image#生成一维码的类型的种类 "&…

Objective-C学习笔记(一)–类

1、类的定义与实现1.1说明所有的类都是继承NSObject。类的接口与实现是分开的&#xff0c;一般类的定义是放在.h文件【包含类的名称、成员变量、方法、属性、继承关系 、遵从的协议】&#xff1b;实现部分是放在.m文件中【包含每个属性和方法的具体实现以及协议的方法实现】语法…

laravel支付宝sdk接入

自己学习使的 仅供参考 一、打开蚂蚁金服开放平台 找到研发服务->沙箱应用 设置沙箱应用保证可以使用 二、找到sdkdemo下载放到本地环境并改名为alipay配置里面的config 注释有详细的讲解仔细看 三、&#xff08;这里是我的习惯&#xff09;放到laravel的app下 四、去confi…

npm上传自己的项目

npm安装就不介绍了&#xff0c;自行度娘。本文介绍npm上传 先初始化&#xff1a;npm init 根据提示填完系统介绍信息&#xff08;package.json&#xff09;&#xff1b; 再登录npmjs&#xff1a; npm login 效果如图&#xff1a; 输入注册的用户名、密码、邮箱&#xff0c;…

融于心而表于行 之 程序的执行问题

2.4 程序的执行问题Linux的多用户说完了&#xff0c;还需要进行下一个话题&#xff0c;那就是多任务的问题。所谓多任务&#xff0c;就是同一时刻能够执行多个程序。这个问题其实对于大多数Windows用户它都不是个问题&#xff0c;因为我们经常会一边浏览网页&#xff0c;一边用…

WebStorm文件类型关联设置

无意中创造了一个没有扩展名的文件&#xff0c;我选择了错误的文件类型关联。是js类型的&#xff0c;我却选成了文本&#xff0c;Ws每次编辑类型就成了txt文本&#xff0c;这个问题让我很苦恼&#xff0c;以下是我的解决方案。 错选的弹出框如下&#xff1a; 解决方案如下&…

WebStorm按Tab建快速生成代码模块

WS中&#xff0c;比如调试每次都要写的console.log(xxx);每次都要敲一遍&#xff0c;还有if模块&#xff0c;for循环模块&#xff0c;难道没有快捷键&#xff0c;可以生成代码模块吗&#xff0c;答案是“有”。 操作步骤如下&#xff08;汉化版WS&#xff09;&#xff1a; 1、…

iterm2一键登陆服务器(门神权限不用每次都输密码进行验证)

1、新建文件 vim ~/.ssh/config 在打开的文件中输入以下内容 Host * ControlMaster auto ControlPath ~/.ssh/master-%r%h:%p ControlPersist yes ServerAliveInterval 60 #保持持久链接 每60s 发送一个请求检测2、 新建文件 并赋予可执行权限&#xff…