您的位置 首页 php

(代码)如何打通服务器与微信之间的通信小tips

说来惭愧 PHP做了这么久,好像就没有从头开发过一个微信公众号,这次刚好有机会 从头接入开发一个完整的公众号,也不能说完整,但是这些微信的接口我基本上都试一试~看看大概是什么情况。

首先:打通服务器与微信之间的通信。

我这里主要使用的框架是thinkphp5

首先,去百度上找一个微信公众号的类。这种资源很多,基本上找一个就行,下边我是用我找的类中的方法介绍,文末有资源可下载。我这里只贴部分这里需要使用到的代码。

Weixin.php

 /**
   * @name: 验证服务器地址有效性
   * @author: camellia
   * @date: 20200711
   * @email:805795955@qq.com
   * @param:  $TOKEN  string  签名字符串
   * @return: data  type  description
   */  public function valid($TOKEN)
  {
    $res = $this->checkSignature($TOKEN);
    if($res)
    {
      $echostr = $_GET['echostr'];//随机的字符串
      return $echostr;
    }
    else
    {
      return "Error";
    }
  }
 
  /**
   * @name: 检查签名
   * @desc: 描述
   * @author: camellia
   * @date: 20200711
   * @email:805795955@qq.com
   * @param:  $TOKEN  string  签名字符串
   * @return: data  type  description
   */  protected function checkSignature($TOKEN)
  {
    if(empty($_GET))
    {
      return false;
    }
    //一、接收微信服务器GET方式提交过来的4个参数数据
 
    $signature = $_GET['signature'];//微信加密签名
 
    $timestamp = $_GET['timestamp'];//时间戳
 
    $nonce = $_GET['nonce'];//随机数
 
    //二、加密/校验过程
    // 1. 将token、timestamp、nonce三个参数进行字典序排序;
    // bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) 对数组排序
 
    $tmpArr = array($TOKEN,$timestamp,$nonce);//将上面三个参数放到一个数组里面
    sort($tmpArr,SORT_STRING);
 
    // 2. 将三个参数字符串拼接成一个字符串进行sha1加密;
    $tmpStr = implode($tmpArr); //将数组转化成字符串
 
    $signatureStr = sha1($tmpStr);
 
    // 3. 开发者获得加密后的字符串与signature对比。
    if($signatureStr == $signature)
    {
      return true;
    }
    else
    {
      return false;
    }
  }
复制代码  

调用:

 /**
     * 验证微信接口
     */    public function checkSignature()
    {
        $TOKEN = 'es3b3t41mk3matoji1tgortbctcoxiid';
        $weixin = new weixin();
        //var_dump($weixin); die;
        $res = $weixin->valid($TOKEN);
        echo $res;    
    }
复制代码  

上文中设置的$TOKEN的值,需要和微信公众平台开发配置的相同。如下图所示:

服务器地址配置你刚刚能访问到你调用的接口的地址,令牌(Token)就是一个随机字符串,啥都可以,但是复杂度最好高点,毕竟看着高级点。

当然这部分微信官方是有文档的,但是微信这个文档吧,第一次做能不能看明白,就得看你自己的了,想看请移步《微信官方文档》

至此,服务器链接打通。

有好的建议,请在下方输入你的评论。

文章来源:智云一二三科技

文章标题:(代码)如何打通服务器与微信之间的通信小tips

文章地址:https://www.zhihuclub.com/152414.shtml

关于作者: 智云科技

热门文章

网站地图