折腾了几天,终于解决:微信公众号第三方平台 获取component_verify_ticket

直接上干货,贴出代码:

<?php


include_once "../Public/wxasset/php/wxBizMsgCrypt.php";

//链接数据库

$link =  mysql_connect(‘127.0.0.1‘,‘cjadmin‘,‘admincjapp‘);

$db = mysql_select_db(‘cjapp‘, $link);


//测试数据库连接

// $sql= "INSERT INTO cjapp_weixin_account (token, type) VALUES (‘1342342342eweqweqw‘, 2)";

//     $res = mysql_query($sql);

//     if($res)

//     {

//         echo ‘success‘;

//     }


//第三方发送消息给公众平台

$encodingAesKey = ‘32GAfm1MK27AQxeUzS9RQsMqyHGp0xgVXpQvjo14xT1b‘;

$token = ‘dmme333qq1429251266‘;

$appId = ‘wx2a86333d5926e6e7f35‘;

$timeStamp  = empty($_GET[‘timestamp‘])     ? ""    : trim($_GET[‘timestamp‘]) ;

$nonce      = empty($_GET[‘nonce‘])     ? ""    : trim($_GET[‘nonce‘]) ;

$msg_sign   = empty($_GET[‘msg_signature‘]) ? ""    : trim($_GET[‘msg_signature‘]) ;

$encryptMsg = file_get_contents(‘php://input‘);

$pc = new WXBizMsgCrypt($token, $encodingAesKey, $appId);


$xml_tree = new DOMDocument();

$xml_tree->loadXML($encryptMsg);

$array_e = $xml_tree->getElementsByTagName(‘Encrypt‘);

$encrypt = $array_e->item(0)->nodeValue;



$format = "<xml><ToUserName><![CDATA[toUser]]></ToUserName><Encrypt><![CDATA[%s]]></Encrypt></xml>";

$from_xml = sprintf($format, $encrypt);



// 第三方收到公众号平台发送的消息

$msg = ‘‘;

$errCode = $pc->decryptMsg($msg_sign, $timeStamp, $nonce, $from_xml, $msg);


if ($errCode == 0) {

    //print("解密后: " . $msg . "\n");

    $xml = new DOMDocument();

    $xml->loadXML($msg);

    $array_e = $xml->getElementsByTagName(‘ComponentVerifyTicket‘);

    $component_verify_ticket = $array_e->item(0)->nodeValue;

    // logResult(‘解密后的component_verify_ticket是:‘.$component_verify_ticket);

    $sql= ‘insert into cjapp_weixin_account (appId,token,encodingAesKey,component_verify_ticket) VALUES (‘.$appId.‘,‘.$token.‘,‘.$encodingAesKey.‘,‘.$component_verify_ticket.‘)‘;

    // $sql= "insert into cjapp_weixin_account (token,appId) VALUES ($token,$appId)";

    $res = mysql_query($sql);

    if($res)

    {

        echo ‘success‘;

    }

} else {

    // logResult(‘解密后失败:‘.$errCode);

    $sql= "insert into cjapp_weixin_account (errCode) VALUES ($errCode)";

    $res = mysql_query($sql);

    if($res)

    {

        echo ‘failed‘;

    }

}


mysql_close($db);

die();







数据库:

CREATE TABLE IF NOT EXISTS `cjapp_weixin_account` (

  `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,

  `appId` varchar(50) NOT NULL,

  `appSecret` varchar(100) NOT NULL,

  `token` varchar(100) DEFAULT NULL,

  `encodingAesKey` varchar(100) DEFAULT NULL,

  `type` tinyint(3) DEFAULT NULL COMMENT ‘1订阅号2服务号3开放平台网站应用4开放平台公众号服务5开放平台移动应用‘,

  `date_time` datetime DEFAULT NULL,

  `component_verify_ticket` varchar(100) DEFAULT NULL,

  `dateline` int(10) DEFAULT NULL,

  `errCode` varchar(200) NOT NULL,

  PRIMARY KEY (`id`)

) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=20 ;











































本文出自 “枷罗博客” 博客,请务必保留此出处http://jhomephper.blog.51cto.com/8558055/1671235

折腾了几天,终于解决:微信公众号第三方平台 获取component_verify_ticket

上一篇:关于微信


下一篇:Windows10禁用WD(Windows Defender)和启用方法