日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java - PHP開(kāi)發(fā)微信無(wú)法獲取到signature,timestamp,nonce

瀏覽:308日期:2022-09-25 14:42:14

問(wèn)題描述

<?php namespace HomeController;use ThinkController;define('TOKEN','weixin');/* *微信的入口文件 */class WechatController extends Controller {

protected $User; //微信用戶對(duì)象 protected $app_id; protected $secret;/*通用入口 構(gòu)造方法 *aunthor:caodi *date:2015-09-25 */public function _initialize() { $this->app_id = C('APPID'); $this->secret = C('APPSECRET');}/*微信入口 *author:caodi *date:2015-09-22 */public function wechat() { DLOG('微信入口記錄的時(shí)間','run','caodi'); if ($_GET[’echostr’] != NULL ) { echo $_GET[’echostr’];exit; } //微信只會(huì)在第一次在URL中帶echostr參數(shù),以后就不會(huì)帶這個(gè)參數(shù)了 if ($this->checkSignature()) { //success!$postStr = $GLOBALS['HTTP_RAW_POST_DATA'];//extract post dataif (!empty($postStr)) { libxml_disable_entity_loader(true); $postObj = simplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA); $this->$User = $postObj; //根據(jù)消息類型將信息分發(fā) $this->route($postObj); //exit; //以下為測(cè)試用的 $toUsername = $postObj->ToUserName; $fromUsername = $postObj->FromUserName; $keyword = trim($postObj->Content); $msyType = trim($postObj->MsgType); //消息類型 $event = trim($postObj->Event); //事件類型 $time = time(); $result = json_encode($postObj); DLOG('消息的參數(shù)'.$result,'run','caodi'); $textTpl = '<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Content><![CDATA[%s]]></Content><FuncFlag>0</FuncFlag></xml>'; if ($event == 'subscribe') {$msgType = 'text';$contentStr = date('Y-m-d H:i:s',time());$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);echo $resultStr; }} } else {echo 'error'; }}/*wechat身份驗(yàn)證 *author:caodi *date:2015-09-22 */public function checkSignature() { //you must define TOKEN by yourselfif (!defined('TOKEN')) {throw new Exception('TOKEN is not defined!'); } $nonce = $_GET['nonce']; $token = TOKEN; $timestamp = $_GET['timestamp']; $signature = $_GET['signature']; echo $signature.'<br/>'; echo $timestamp.'<br/>'; echo $nonce.'<br/>';$tmpArr = array($token,$timestamp,$nonce); sort($tmpArr,SORT_STRING); $tmpStr = implode($tmpArr); $tmpStr = sha1($tmpStr); if ($tmpStr == $signature) {return true;echo 'true'; } else {return false;echo 'false'; }}/*根據(jù)微信的消息類型來(lái)進(jìn)行的分發(fā) *author:caodi *date:2015-09-23 */public function route($postObj) { $msgType = trim($postObj->MsgType); DLOG('mygtype='.$msgType,'run','caodi'); switch ($msgType) {//(1)接受的為消息推送case 'text': $this->reponse_text($postObj); break;case 'image': $this->reponse_image($postObj); break;case 'voice': $this->reponse_voice($postObj); break;//(2)接受的為事件推送case 'event': $event = $postObj->Event; DLOG('event='.$event,'run','caodi'); switch ($event) {case 'subscribe': $this->subscribe($postObj); break;case 'unsubscribe': $this->unsubscribe($postObj); break;//自定義菜單的事件功能 } }}/*微信用戶關(guān)注微信號(hào)事件(獲取用戶的基本信息存入到用戶表中去) *author:caodi *date:2015-09-23 */public function subscribe($postObj) { $open_id = $postObj->FromUserName; $create_time = $postObj->CreateTime; $UserDao = M('user'); //(1)根據(jù)用戶的open_id去 https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN $access_token = 'RQ4fmRD-a2JflW7_9-mmefNkHnK35aoZHHXn9PoB_vqDfxVWdT8XNbtfv5F1v1yK_b81Xar3So4gRLdlX6QxJfa5fGApcOAeLI_Fx3h9hxGjkNhUgADXidNBKIi5EjanHOZjADAVCN'; $url = 'https://api.weixin.qq.com/cgi-bin/user/info?access_token='.$access_token.'&openid='.$open_id.'&lang=zh_CN'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //要求保存的結(jié)果到字符串還是輸出在屏幕上,非0表示保存到字符串中 curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); //對(duì)認(rèn)證來(lái)源的檢查,0表示阻止對(duì)證書(shū)的合法性檢查 $result = curl_exec($ch); DLOG('result'.$result,'run','caodi'); curl_close($ch); $user_info = json_decode($result,true); //(2)將得到的用戶信息保存到數(shù)據(jù)庫(kù)中去 $data = array(); $data[’user_nick’] = $user_info[’nickname’]; $user_info[’sex’] = $user_info[’sex’] == 0 ? 1 : $user_info[’sex’]; //將性別為0的轉(zhuǎn)化為默認(rèn)的男性 $data[’user_sex’] = $user_info[’sex’]; $data[’user_avatar’] = $user_info[’headimgurl’]; $data[’user_type’] = 1;//用戶類型 1-普通用戶 2-助理 $open_id = json_decode($open_id,true); $data[’wx_open_id’] = $user_info[’openid’]; $data[’user_app_version’] = 'wechat9.0'; $data[’user_platform’] = 'wechat'; //當(dāng)前使用的設(shè)備平臺(tái) $data[’user_create_time’] = date('Y-m-d H:i:s',time()); $result = $UserDao->add($data); DLOG('sql= '.$UserDao->getlastsql(),'run','caodi'); if($result === false) {DLOG('數(shù)據(jù)庫(kù)插入失敗','run','caodi');exit; }}/*自定義菜單的生成 *author:caodi *date:2015-09-24 */public function create_menu(){ include_once(APP_PATH.'Common/Conf/menu_config.php'); $data = $menu_config; $access_token = 'RQ4fmRD-a2JflW7_9-mmefNkHnK35aoZHHXn9PoB_vqDfxVWdT8XNbtfv5F1v1yK_b81Xar3So4gRLdlX6QxJfa5fGApcOAeLI_Fx3h9hxGjkNhUgADXidNBKIi5EjanHOZjADAVCN'; $url = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token='.$access_token; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS,$data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); curl_close($ch); var_dump($result); exit;}/*通過(guò)OAuth2.0的網(wǎng)頁(yè)授權(quán)(自定義菜單中,獲取用戶的openID同時(shí)進(jìn)入我的任務(wù)頁(yè)) *author:caodi *date:2015-09-24 */public function my_task () { $code = $_GET[’code’]; $oprn_id = $this->code_to_openID($code); var_dump($code); echo 'caodi'.'<br>'; echo '<center><h1>{$open_id}</h1></center>';}/*由OAuth2.0獲取到的code轉(zhuǎn)化成用戶的openID *author:caodi *date:2015-09-24 */public function code_to_openID($code) { if (empty($code) == true) {DLOG('獲取的code為空','run','caodi');exit; } $appid = $this->app_id; $secret = $this->secret; $url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); DLOG('由OAuth2.0獲取到的code轉(zhuǎn)化成用戶的openID的結(jié)果='.$result,'run','caodi'); curl_close($ch); $user_info = json_decode($result,true); $open_id = $user_info[’openid’]; return $open_id;}

}?>

問(wèn)題解答

回答1:

if ($_GET[’echostr’] != NULL ) {

echo $_GET[’echostr’]; exit;}對(duì)接的時(shí)候打印一下post和get。。不會(huì)沒(méi)有的

標(biāo)簽: 微信
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
99成人在线视频| 亚洲免费一区二区| 日本蜜桃在线观看视频| 欧美日韩夜夜| 日韩中文字幕区一区有砖一区| 久久精品观看| 亚洲v在线看| 亚洲二区免费| 国产精品社区| 日韩精品福利一区二区三区| 国产中文欧美日韩在线| 欧美亚洲精品在线| 99久久夜色精品国产亚洲1000部| 日韩毛片视频| 国产va在线视频| 欧产日产国产精品视频| 亚洲一区欧美二区| 韩日一区二区三区| 久久免费黄色| 日韩精品1区2区3区| 欧美日韩一区自拍| 午夜久久av| 精品欧美日韩精品| 99久久精品网站| 综合五月婷婷| 欧美激情福利| 性欧美69xoxoxoxo| 蜜桃传媒麻豆第一区在线观看| 综合在线一区| 麻豆中文一区二区| 激情欧美一区二区三区| 国产美女亚洲精品7777| 激情偷拍久久| 国产欧美一区二区精品久久久| 久久久久免费| 日韩精品电影一区亚洲| 99精品一区| 国产伦乱精品| 四虎884aa成人精品最新| 亚洲欧美久久精品| 久久国产电影| 日韩动漫一区| 亚洲天堂久久| 国产精品一区免费在线| 激情久久久久久| 麻豆精品在线视频| 中文视频一区| 99久久www免费| 国产精品13p| 色综合狠狠操| 国产精品日韩精品中文字幕| 欧美特黄一级大片| 成人在线观看免费视频| 亚洲+小说+欧美+激情+另类| 亚洲少妇在线| 日韩精品中文字幕第1页| 国产欧美日韩在线观看视频| 蜜臀av亚洲一区中文字幕| 91精品xxx在线观看| 国产成人1区| 国产成人精品免费视| 国产精品午夜av| 欧美日韩亚洲国产精品| 日韩精品亚洲专区| 欧美日一区二区在线观看| 日韩一级欧洲| 激情综合网址| 蜜桃视频一区二区| 欧美天堂一区| 欧美专区一区| 国产三级一区| 麻豆中文一区二区| 老牛国内精品亚洲成av人片| 美女精品在线观看| 国产综合亚洲精品一区二| 午夜av成人| 91成人精品视频| 亚洲神马久久| 国产亚洲欧美日韩在线观看一区二区 | 久久久91麻豆精品国产一区| 精品国产乱码久久久| 麻豆国产欧美日韩综合精品二区| 免费黄网站欧美| 久久国内精品自在自线400部| 蜜桃av一区二区在线观看| 欧美精品中文字幕亚洲专区| 久久99精品久久久久久园产越南| 中文字幕成在线观看| 亚洲永久字幕| 国产精品九九| 午夜一级在线看亚洲| 精品网站999| 亚洲有吗中文字幕| 国产黄大片在线观看| 免播放器亚洲| 国产+成+人+亚洲欧洲在线| 蜜桃传媒麻豆第一区在线观看| 麻豆成人在线观看| 国产欧美日韩精品一区二区三区| 日韩视频二区| 国产亚洲高清视频| 欧美在线日韩| 国产精品99一区二区| 日韩精品一区二区三区中文字幕| 精品一区二区三区在线观看视频| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 久久国内精品自在自线400部| 欧美亚洲tv| 国产精品久久久久久妇女| 老司机精品视频网| 国产一区久久| yellow在线观看网址| 韩日一区二区三区| 欧美1区二区| 国产精品久久久久久av公交车| caoporn视频在线| 午夜精品免费| 国产午夜精品一区在线观看| 狂野欧美性猛交xxxx| 好看不卡的中文字幕| 久久激情av| 亲子伦视频一区二区三区| 99pao成人国产永久免费视频 | 日韩一区欧美二区| 久久精品影视| 97久久亚洲| 日韩伦理在线一区| 国产精品99精品一区二区三区∴ | 欧美在线影院| 国产乱人伦精品一区| 亚洲免费婷婷| 岛国av在线播放| 欧美一区二区三区久久| 国产精品第一| 综合色就爱涩涩涩综合婷婷| 欧美精品一区二区三区精品| 国产伦精品一区二区三区在线播放| 最新中文字幕在线播放| 玖玖玖国产精品| 久久久一二三| 激情综合自拍| 色婷婷精品视频| 国产成人精品一区二区三区免费 | 久久裸体视频| 日韩激情视频网站| 亚洲视频播放| 欧美资源在线| 超碰超碰人人人人精品| 精品久久精品| 国产一区二区三区精品在线观看| 国产丝袜一区| 欧美国产另类| 国产精品三p一区二区| 蜜桃av一区二区三区电影| 日韩精品社区| 欧美日韩视频免费看| 国产精品亚洲人成在99www| 亚洲精品影视| 日韩精品一二三| 国产一区二区亚洲| 国产精品入口久久| 久久国产精品美女| 国产欧美一区二区三区精品酒店 | 在线观看精品| 午夜久久tv| 尹人成人综合网| 日韩福利视频一区| 国产欧美视频在线| 国产一区二区三区亚洲综合| 精品一区二区三区亚洲| av资源中文在线| 欧美在线亚洲| 欧美伊人影院| 欧美国产日韩电影| 国产精品白浆| 夜夜精品视频| 国产成人精品一区二区免费看京| 日韩极品在线观看| 精品久久久久久久| 蜜桃伊人久久| 日韩欧美激情电影| 伊人久久国产| 噜噜噜躁狠狠躁狠狠精品视频| 日韩av资源网| 欧美日韩视频| 国产精品入口久久| 一区在线观看| 国产精品二区不卡| 精品一区二区三区免费看| 久久久天天操| 久久国产麻豆精品| 日本精品不卡| 欧美日韩夜夜| 成人台湾亚洲精品一区二区| 在线视频亚洲欧美中文| 成年男女免费视频网站不卡| 欧美久久香蕉| 免费日韩一区二区| 日韩精品一卡| 精品资源在线|