写在前面的话:为了更灵活的与微信公众平台互动,需要将微信公众平台与自己的服务器进行对接,只有对接成功之后,才能够进行后面功能的实现。

=========正文开始==========

详细讲解之前,对微信公众平台与自己服务器对接先有个感性的认识。

假设微信已经与我们自己的服务器完成对接,之后微信公众平台就能够将自己接收到的消息发送给我们的服务器,同样我们也可以给微信服务器发送消息。这里就涉及到了几个问题:1.微信应该给我们服务器的什么地址进行对接呢?2.如何验证这个地址确实是我们自己服务器的地址呢?解决了这两个疑问,初步对接的工作也就完成了。

一、微信应该给我们服务器的什么地址进行对接呢?

1、打开自己的微信公众号后台,选择左边菜单栏最下面的开发者中心,如下图:

2、在开发者中心页面,如下图:

这个页面有一些比较有用的信息,其中AppID和AppSecret对于每个公众号是唯一的,在后面的功能实现中会用到。下面的服务器配置页面,就是用来填写我们自己服务器与微信公众平台对接的地方,点击修改配置就可以填写了相关信息了。

(1)URL(服务器地址):填写自己的服务器的一个地址,这里我使用的是SAE,至于wechat.php具体写了哪些代码,下面再讲。

(2)Token(令牌):这里随便填写,这个在wechat.php代码里面会用到。

(3)EncodingAESKey和消息加密解密方式:这里默认就可以了,以后如果需要用到消息加密的话,可以进行设置。

设置完成上面信息后,点击提交,如果wechat.php中写的代码没有问题的话,应该会提示成功,然后再点击启用,就完成了微信公众平台与自己服务器的对接了。接下来来看看wechat.php中代码该怎么写。

二、如何验证这个地址确实是我们自己服务器的地址呢?

前面点击提交之后,微信会向我们提交的地址发送GET请求,请求中含有四个参数:signature,timestamp,nonce,echostr,我们代码中需要通过如下三个步骤来验证:

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

(2)将三个参数字符串进行sha1加密

(3)加密字符串和signature对比,如果比对正确原样返回echostr。

具体代码如下:

$echoStr = $_GET["echostr"];

$signature = $_GET["signature"];

$timestamp = $_GET["timestamp"];

$nonce = $_GET["nonce"];

$token = "test";

$tmpArr = array($token, $timestamp, $nonce);

sort($tmpArr, SORT_STRING);

$tmpStr = implode( $tmpArr );

$tmpStr = sha1( $tmpStr );

if( $tmpStr == $signature )

{

echo $echoStr;

exit;

}

else

{

echo "validate没有通过";

}

?>

上面代码应该也比较简单了,也不过多解释了,其实这里验证是比较粗糙的,我们可以直接在代码里面写上如下代码: echo $_GET['echostr']其实就能够通过验证;而且更合理的话应该将$tmpStr发送给微信服务器,signature的比对在微信服务器端比对比较合适,我们以后会发现之后一些签名验证就是在微信服务器端验证的,这里其实不用太纠结,这里也不会涉及到多少安全性的问题,因此想怎么写就怎么写吧。

如果在上面验证的过程中出问题了,看看是不是sae有问题,完成了这一步,和微信服务器的对接算是完成了。

微信开发者服务器是什么意思,详解微信开发者文档——2接入服务器至微信开发平台...相关推荐

  1. 详解ISO 13400文档(DoIP协议)-1

    通过浏览别人的文章,虽然能快速了解自己完全不懂的协议,但是很多细节和知识点,还是应该通过学习ISO协议规范文档,对它们有更深入更全面的理解,下面我们就通过ISO 13400,全面深入地学习DoIP协议 ...

  2. 静态资源详解和帮助文档的使用

    1.静态:(static 修饰变量,方法) 概述:静态就是static关键字修饰的变量或方法 static是一个关键字,静止的,在java中表示资源共享的. 为什么要使用静态?: 1.例子:人人都有国 ...

  3. 详解ISO 13400文档(DoIP协议)-2

    此篇文章支持pdf文件格式下载,感兴趣的读者请转发至朋友圈集赞满30,后台回复作者 TCP and UDP Port 先来回顾下DoIP中所有的TCP和UDP端口及其用途 这里先明确这几个端口号 UD ...

  4. 详解ISO 13400文档(DoIP协议)-3

    Routing activation request and response 对于用TCP_DATA socket传输DoIP消息的,必须激活路由,也就是在DoIP通信前,TCP三次连接成功后,需要 ...

  5. 详解ISO 13400文档(DoIP协议)-4

    Diagnostic power mode information request and response 这个DoIP消息类型用于检索车辆的诊断电源模式,例如,外部测试设备可以使用此信息来验证车辆 ...

  6. 详解ISO 13400文档(DoIP协议)-5

    定时和通信参数 下表包含了DoIP特定的通信参数,包括超时值和各类型的DoIP消息特定的性能要求,另外,诊断协议会话层时序被映射到DoIP消息上 诊断协议会话层时序被映射到DoIP消息上,这句话要细品 ...

  7. SAP UI5 初学者教程之二十六 - OData 服务配合 Mock 服务器的使用步骤详解试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

  8. 网站服务器怎么组件,网站服务器搭建与配置详解!

    原标题:网站服务器搭建与配置详解! 服务器大家经常会听说,但是可能大家对个中概念还有些不明白,这里跟大家说说网站服务器的搭建与配置. 网站服务器概念 网站服务器是网络应用的基础硬件设施,简言之即存放网 ...

  9. jsapi支付签名_PHP实现微信支付(jsapi支付)流程步骤详解

    最近接触到一个项目,涉及到微信支付,搞微信开发这么久以来,还没搞过支付,之前也就搞过公众号发红包,感谢前辈们的探索,我看了他们的博文,让我少走了很多弯路. 前期准备: 1.微信认证服务号,并且开通了微 ...

  10. 微信支付 php详解,微信支付之公众号支付详解

    本文主要和大家分享微信支付之公众号支付详解,随着微信支付的流行,大多产品都开发了自己的公众号.小程序等,产品的营销需要支付的支撑,最近做了个微信公号号支付,采坑无数,今天给大家分享一下,希望能帮助到大 ...

最新文章

  1. [转载]玩转Android Camera开发(三):国内首发---使用GLSurfaceView预览Camera 基础拍照demo...
  2. (75)内核APC执行过程,分析 KiDeliverApc 函数
  3. Mastering Caching in Asp.net
  4. 网易2022秋季校园招聘-通用技术A卷-0918
  5. docker 安装 vsftpd
  6. JavaScript——max-age
  7. CCAI 2017 | 小数据学习对人工智能究竟有着怎样的影响?
  8. 可视化学习笔记 - ECharts
  9. 【剑指Offer学习】【面试题66:矩阵中的路径】
  10. python write函数换行_Python基础知识(三)
  11. python 开发公众号sdk_「公众号开发」基于Serverless架构Python实现公众号图文搜索...
  12. 水下机器人 结构设计
  13. 那个人路过了青春一阵子,却会在记忆里搁浅一辈子
  14. 开关电源输入:共模电感,X电容,Y电容,差摸电感理论计算!
  15. 计算机流程图设计教程,流程图制作工具分享,在电脑上就可以画图
  16. String.intern()
  17. 超全汇总!多传感器离线/在线时空联合标定方法
  18. QT常用函数总结(全)
  19. hadoop安装-redhat
  20. 阿里巴巴矢量图标库(网页)

热门文章

  1. 游戏测试就天天打游戏?老司机给你深度解惑
  2. 中国各省份边界json文件
  3. 汇编语言学习资料汇总
  4. 解决 No converter found for return value of type 的问题
  5. 给所有使用FMX(FireMonkey)进行开发的忠告!
  6. Failed creating java C:\Program Files\Java\jre6\bin\client\jvm.dll
  7. 【Protel】Protel99SE(附汉化包+SP6+增强工具+视频教程)
  8. python卡方拟合优度检验_SPSS超详细教程:卡方拟合优度检验
  9. win7虚拟磁盘服务器,深度Win7 64位旗舰版系统如何创建虚拟磁盘
  10. Eclipse及其常用插件的下载地址