微信公众号开发(—)

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

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;}}

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

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

  1. 急急急求微信公众号开发接口-php如何实现获取用户发送的微信表情,并返回一个链接,用户点击进去链接就是刚才发的表情,用户可以保存表情?

    求微信公众号开发接口-php如何实现获取用户发送的微信表情,并返回一个链接,用户点击进去链接就是刚才发的表情,用户就可以保存表情到手机? 需求描述 1.用户在公众号对话框发送微信表情(GIF) 2.公 ...

  2. 微信公众号开发接口语音下载解决方案

    需求:利用微信公众号开发接口下载语音,展示并可以收听语音 1.利用微信公众平台开发接口下载语音文件至本机 /*** 下载多媒体文件* @param string $mediaId* @return s ...

  3. java微信公众号开发之配置服务器

    5年了,你知道我这5年是怎么过的吗?! 5年前我做过一次公众号开发,当时写了篇简单的博客:https://blog.csdn.net/User_xiangpeng/article/details/50 ...

  4. 微信公众号开发 接口配置信息 配置失败

    之前和室友合租的服务器到期了,现在自己租了一个,想把之前开发的公众号搬过来.然后就换配置接口的URL后提交.一致提示配置失败,后台没看到请求进来,也没看到错误日志.想想是不是请求发到别的地方去了,才突 ...

  5. PHP微信公众号开发接口封装

    <?php namespace Common\Model; /*** 微信公众平台PHP-SDK, 官方API部分* @author dodge <dodgepudding@gmail.c ...

  6. java微信公众号开发一:服务器信息配置

    假设你已经拥有一个微信测试号,基本信息如下图所示: 编辑扣接口配置信息,URL为域名服务信息地址/项目名/controller中配置的requestmapping路径(个人开发测试的时候是用的NATA ...

  7. 微信公众号开发之验证服务器的有效性

    微信的get请求 我们先进行开发者测试号的申请 点击 开发者提交信息后,微信服务器将发送 GET 请求到填写的服务器地址 URL 上,这个GET请求携带的参数如下,微信官网 我们需要对这个请求返回一定 ...

  8. 微信公众号开发之服务器接入指南之Java版本

    微信公众号开发的官方文档: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319 其中我们开发好的服务器,在配置到 ...

  9. 微信公众号开发--消息接收与回复

    在上篇文章中已经说明如何接入微信服务器,此篇直接接着上篇文章介绍公众号的消息接收与回复,可以结合上篇文章阅读本文,微信公众号开发–服务器接入. 微信公众号开发接口文档: https://mp.weix ...

最新文章

  1. 机器学习敲门砖:任何人都能看懂的TensorFlow介绍
  2. xtraTabbedMdiManager 双击最大化和关闭后返回主界面 z
  3. 浅谈android hook技术
  4. ACM 中常用的算法有哪些? 2014-08-21 21:15 40人阅读 评论(0) 收藏...
  5. php 执行exec() 操作linux 命令
  6. Cap03_项目立项管理
  7. 【英语学习】【Level 08】U05 Better option L1 Message sent
  8. matlab哈宁低通,Matlab实现电网谐波测量加窗插值算法.pdf
  9. 技术类别特点_苏州鑫辉仓储货架的常用类别及特点
  10. Java集合List,Set,Map,Queue,Deque
  11. 团体程序设计天梯赛-练习集-L1-036. A乘以B
  12. intel simd 资料
  13. Plants vs. Zombies【二分答案】
  14. 树莓派上利用Tensorflow实现小车的自动驾驶
  15. 手机通讯录(纯java)
  16. 技术之美[程序人生]一篇IT企业工资表,虽然有些不够准确,但还是可以进行参考的
  17. Open3D 点云颜色渲染
  18. iOS 招聘感悟(已经回暖)
  19. 电阻按照封装分为哪几种,不需要解释
  20. 揭秘任务型对话机器人(上篇)

热门文章

  1. 想跑次高频策略?快来看看Numpy处理真格量化tick数据的技巧
  2. kafka 支持发布订阅
  3. 设计几个简单的汇编函数
  4. linux java 部署 生产环境
  5. VUE2 第五天学习--过渡效果
  6. oracle   SQL执行过程
  7. Redis学习手册(事务)
  8. mysql数据库安装在unix_Linux下的数据库二:在Linux/Unix平台安装MySQL
  9. mysql数据库容量和性能_新品速递丨容量盘性能提升超 300%,数据库支持 MySQL 8.0...
  10. pmc订单表格_复工了,读一则“如何提升订单准交率和生产效率”的真实故事