PHP编程之微信公众平台企业号验证接口示例【回调操作】
程序员文章站
2024-03-11 11:15:49
本文实例讲述了php微信公众平台企业号验证接口。分享给大家供大家参考,具体如下:
微信公众平台企业号验证接口、回调 php版,本人为了解决这个企业号的验证和发送消息的问题...
本文实例讲述了php微信公众平台企业号验证接口。分享给大家供大家参考,具体如下:
微信公众平台企业号验证接口、回调 php版,本人为了解决这个企业号的验证和发送消息的问题,整整研究了几天时间,因为微信企业号刚推出来的时候网上资料比较少!后来在一些朋友的帮助下和本人反复调试完善下,终于整理得到了比较理想的文档,经亲测,实验成功。
include_once "wxbizmsgcrypt.php"; // 第三方发送消息给公众平台 $encodingaeskey = "rpjmhcphnndiclicnkcumhtn2gqbnjispu9gfsfolxx"; $token = "xxxxxxx"; $corpid ="wxa9a0031f24631f9x"; //这里已正确填写自己的corpid //公众号服务器数据 $sreqmsgsig = $sverifymsgsig = $_get['msg_signature']; $sreqtimestamp = $sverifytimestamp = $_get['timestamp']; $sreqnonce = $sverifynonce = $_get['nonce']; $sreqdata = file_get_contents("php://input");; $sverifyechostr = $_get['echostr']; $wxcpt = new wxbizmsgcrypt($token, $encodingaeskey, $corpid); if($sverifyechostr){ $sechostr = ""; $errcode = $wxcpt->verifyurl($sverifymsgsig, $sverifytimestamp, $sverifynonce, $sverifyechostr, $sechostr); if ($errcode == 0) { print($sechostr); } else { print($errcode . "\n\n"); } exit; } //decrypt $smsg = ""; //解析之后的明文 $errcode = $wxcpt->decryptmsg($sreqmsgsig, $sreqtimestamp, $sreqnonce, $sreqdata, $smsg); if ($errcode == 0) { $xml = new domdocument(); $xml->loadxml($smsg); $reqtousername = $xml->getelementsbytagname('tousername')->item(0)->nodevalue; $reqfromusername = $xml->getelementsbytagname('fromusername')->item(0)->nodevalue; $reqcreatetime = $xml->getelementsbytagname('createtime')->item(0)->nodevalue; $reqmsgtype = $xml->getelementsbytagname('msgtype')->item(0)->nodevalue; $reqcontent = $xml->getelementsbytagname('content')->item(0)->nodevalue; $reqmsgid = $xml->getelementsbytagname('msgid')->item(0)->nodevalue; $reqagentid = $xml->getelementsbytagname('agentid')->item(0)->nodevalue; switch($reqcontent){ case "马云": $mycontent="您好,马云!我知道您创建了阿里巴巴!"; break; case "马化腾": $mycontent="您好,马化腾!我知道创建了企鹅帝国!"; break; case "史玉柱": $mycontent="您好,史玉柱!我知道您创建了巨人网络!"; break; default : $mycontent="你是谁啊?!一边凉快去!"; break; } $srespdata = "<xml> <tousername><![cdata[".$reqfromusername."]]></tousername> <fromusername><![cdata[".$corpid."]]></fromusername> <createtime>".sreqtimestamp."</createtime> <msgtype><![cdata[text]]></msgtype> <content><![cdata[".$mycontent."]]></content> </xml>"; $sencryptmsg = ""; //xml格式的密文 $errcode = $wxcpt->encryptmsg($srespdata, $sreqtimestamp, $sreqnonce, $sencryptmsg); if ($errcode == 0) { //file_put_contents('smg_response.txt', $sencryptmsg); //debug:查看smg print($sencryptmsg); } else { print($errcode . "\n\n"); } } else { print($errcode . "\n\n"); } ?>
附:wxbizmsgcrypt.php 文件点击此处本站下载。
更多关于php相关内容感兴趣的读者可查看本站专题:《php微信开发技巧汇总》、《php编码与转码操作技巧汇总》、《php网络编程技巧总结》、《php字符串(string)用法总结》、《php中json格式数据操作技巧汇总》及《php针对xml文件操作技巧总结》
希望本文所述对大家php程序设计有所帮助。
上一篇: Java 使用IO流实现大文件的分割与合并实例详解
下一篇: 全面解析Java中的注解与注释