久久1024I污污网站免费I77一区二区I四虎精品99I亚洲一二区精品I老狼无码I簧片网站视频I成人av在线播放网站I在线a亚洲视频播放在线观看

行業(yè)動(dòng)態(tài)

了解最新公司動(dòng)態(tài)及行業(yè)資訊

當(dāng)前位置:首頁>新聞中心>行業(yè)動(dòng)態(tài)
全部 4217 公司動(dòng)態(tài) 1081 行業(yè)動(dòng)態(tài) 3136

如何把微信公眾號(hào)授權(quán)給開發(fā)者服務(wù)器2與微信服務(wù)器進(jìn)行

時(shí)間:2022-08-06   訪問量:2471

文章目錄

很多人都有自己的服務(wù)器。尤其是對(duì)大學(xué)生來說服務(wù)器運(yùn)維服務(wù)器運(yùn)維,很多服務(wù)器公司對(duì)中學(xué)生都是有利的。比如騰訊云每個(gè)月只要1塊錢:所以作為程序員,我們總是想自己掌控一切。在手,如何使用我們的開發(fā)者服務(wù)器管理陌陌公眾號(hào)?這就是本文所涵蓋的內(nèi)容。

本文介紹了以下內(nèi)容:

1 如何將陌陌公眾號(hào)授權(quán)給開發(fā)者服務(wù)器 2 如何使用代碼將開發(fā)者服務(wù)器與陌陌服務(wù)器關(guān)聯(lián)


/**
 * 微信公眾號(hào)開發(fā)-入門
 *
 * api
 */
define("TOKEN",'we--xxxx');   //這里和你微信公眾號(hào)開放平臺(tái)上的tonken填寫一樣的即可
$weixinApi=new WeixinApi();
if(isset($_GET["echostr"])){
    $weixinApi->valid();
}else{
    $weixinApi->responseMsg();
}
class WeixinApi{
    //驗(yàn)證接口
    public function valid(){
        $echoStr = $_GET["echostr"];//從微信用戶端獲取一個(gè)隨機(jī)字符賦予變量echostr
        if($this->checkSignature()){
            echo $echoStr;
            exit;
        }
    }
    //檢查簽名
    private function checkSignature(){
        //1 接受微信服務(wù)器get請(qǐng)求發(fā)送過來的4個(gè)參數(shù)
        $signature = $_GET["signature"];//從用戶端獲取簽名賦予變量signature
        $timestamp = $_GET["timestamp"];//從用戶端獲取時(shí)間戳賦予變量timestamp
        $nonce = $_GET["nonce"];    //從用戶端獲取隨機(jī)數(shù)賦予變量nonce
        //2 加密和校驗(yàn)請(qǐng)求
        //2.1 將token、timestamp、nonce三個(gè)參數(shù)進(jìn)行字典序排序
        $tmpArr = array(TOKEN, $timestamp, $nonce);//簡歷數(shù)組變量tmpArr
        sort($tmpArr, SORT_STRING);//新建排序
        //2.2 將三個(gè)參數(shù)字符串拼接成一個(gè)字符串進(jìn)行sha1加密

服務(wù)器運(yùn)維_運(yùn)維服務(wù)口號(hào)大全_運(yùn)維服務(wù)服務(wù)器網(wǎng)絡(luò)設(shè)備日常巡檢報(bào)告

$tmpStr = implode($tmpArr);//數(shù)組轉(zhuǎn)字符串 $tmpStr = sha1($tmpStr);//shal加密 //2.3 開發(fā)者獲得加密后的字符串可與signature對(duì)比,標(biāo)識(shí)該請(qǐng)求來源于微信 if ($tmpStr == $signature) { return true; } else { return false; } } //回復(fù)消息 public function responseMsg(){ //3 以下代碼接受消息 //3.1 接受微信服務(wù)器發(fā)送過來的原生的POST的數(shù)據(jù)包 // $postData = $GLOBALS["HTTP_RAW_POST_DATA"]; $postData = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] :file_get_contents("php://input"); //3.2 處理數(shù)據(jù)包 $xmlObj = simplexml_load_string($postData, "SimpleXMLElement", LIBXML_NOCDATA); $msgType = $xmlObj->MsgType; //4 根據(jù)消息類型進(jìn)行業(yè)務(wù)處理 switch ($msgType) { //接受事件消息 case 'event': $this->disposeEvent($xmlObj); break; //接受文本消息 case 'text': $this->disposeText($xmlObj); break; //接受圖片消息 case 'image': $this->disposeImage($xmlObj); break; } } //處理接收的事件消息 private function disposeEvent($xmlObj){ switch ($xmlObj->Event){ case 'subscribe'://訂閱事件 $this->sendText('歡迎您的訂閱'); break; case 'unsubscribe'://取消訂閱事件 $this->sendText('good-bye');//該消息用戶其實(shí)是看不到的,取消訂閱事件一般用來清除數(shù)據(jù)庫記錄 break; } } //處理接收的文本消息 private function disposeText($xmlObj){ $text=trim($xmlObj->Content); //包含關(guān)鍵字都不做處理 if (!( strstr($text,'違規(guī)') //這里對(duì)違規(guī)的關(guān)鍵字做排除,不予理睬 )){ switch ($text){ case '你好': $this->sendText($xmlObj,'Hi 我是開發(fā)者服務(wù)器'); break; case 'new': $newsArr=array( array( "title"=>"看到這條消息,你可以買彩票了", "description"=>"本公眾號(hào)有許多小彩蛋,歡迎您的探索。", "picUrl"=>"http://img.mp.itc.cn/upload/20170610/03d69e8df0524b8cb59fd16dc2fec989.jpg", "url"=>"http://www.baidu.com" ) ); $this->sendNews($xmlObj,$newsArr); break; default: $this->tuling123($xmlObj,trim($xmlObj->Content)); //圖靈機(jī)器人 } } } //處理接收的圖片消息 private function disposeImage($xmlObj){ //一般情況下,不會(huì)去處理用戶發(fā)送的圖片 $this->sendImage($xmlObj,$xmlObj->PicUrl,$xmlObj->MediaId); } //發(fā)送文本的方法 private function sendText($xmlObj,$content){ $replyTextMsg=" %s "; echo sprintf($replyTextMsg,$xmlObj->FromUserName,$xmlObj->ToUserName,time(),$content); } //發(fā)送圖片的方法 private function sendImage($xmlObj,$mediaId){ $replyImageMsg=" %s "; echo sprintf($replyImageMsg,$xmlObj->FromUserName,$xmlObj->ToUserName,time(),$mediaId); } //發(fā)送圖文的方法 private function sendNews($xmlObj,$newsArr){ $newsTplHead = " %s %s "; $newsTplBody = " <![CDATA[%s]]> "; $newsTplFoot = " %s "; $replyNewsMsg = sprintf($newsTplHead, $xmlObj->FromUserName, $xmlObj->ToUserName, time(),count($newsArr)); foreach($newsArr as $key => $value){ $replyNewsMsg .= sprintf($newsTplBody, $value['title'], $value['description'], $value['picUrl'], $value['url']); } $replyNewsMsg .= sprintf($newsTplFoot, 0); echo $replyNewsMsg; } public function tuling123($xmlObj,$message){//這是是使用圖靈機(jī)器人 $tuTonken='2d8aaa17141c443----xxx---fsa'; //請(qǐng)去圖靈網(wǎng)http://www.tuling123.com/自己申請(qǐng)一個(gè)tonken $tuUrl='http://www.tuling123.com/openapi/api?key='.$tuTonken.'&info='.$message.'&userid='.$xmlObj->FromUserName; $tuData='{ "key": "'.$tuTonken.'", "info": "'.$message.'", "userid": "'.$xmlObj->FromUserName.'" }'; $results = $this->htts_request($tuUrl,$tuData); // print_r($results); if ($results['code']==100000){ $text=$results['text']; $this->sendText($xmlObj,$text); }else{ $this->sendText($xmlObj,'有問題,請(qǐng)輸入“幫助”'); } } //https請(qǐng)求(get和post) private function htts_request($url,$data=array()){

運(yùn)維服務(wù)服務(wù)器網(wǎng)絡(luò)設(shè)備日常巡檢報(bào)告_服務(wù)器運(yùn)維_運(yùn)維服務(wù)口號(hào)大全

//1 初始化curl $ch=curl_init(); //2 設(shè)置傳輸選項(xiàng) 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);//把頁面以文件流的形式返回 if (!empty($data)) { curl_setopt($ch, CURLOPT_POST, true); //設(shè)置為 POST 請(qǐng)求 curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //設(shè)置POST的請(qǐng)求數(shù)據(jù) } //3 執(zhí)行curl請(qǐng)求 $outopt=curl_exec($ch); $outoptArr=json_decode($outopt,true); //4 關(guān)閉curl curl_close($ch); return $outoptArr; } } ?>

    //網(wǎng)頁授權(quán)-base型
    public function snsapi_base($redirect_uri){
        //以下是測(cè)試賬號(hào)
        $appid="wxb4----xxx";//請(qǐng)?jiān)诘谝徽碌?小節(jié)的圖片中看
        $appsecret="21da56-----xxx";//請(qǐng)?jiān)诘谝徽碌?小節(jié)的圖片中看
        //準(zhǔn)備scope
        $snsapi_base_url="https://open.weixin.qq.com/connect/oauth2/authorize?appid={$appid}&redirect_uri={$redirect_uri}&response_type=code&scope=SCOPE&state=123#wechat_redirect";
        $code=$_GET['code'];
        //獲取code
        if (!isset($code)){
            header("Location:{$snsapi_base_url}");
        }
        //獲取access_token
        $url="https://api.weixin.qq.com/sns/oauth2/access_token?appid={$appid}&secret={$appsecret}&code={$code}&grant_type=authorization_code";
        return $this->htts_request($url);
    }

上一篇:提升IT服務(wù)支持水平的IT外包服務(wù)公司所運(yùn)用的措施

下一篇:pc外包 上班兩周被辭退,被開除后我緊急找了3份Offer

發(fā)表評(píng)論:

評(píng)論記錄:

未查詢到任何數(shù)據(jù)!

在線咨詢

點(diǎn)擊這里給我發(fā)消息 售前咨詢專員

點(diǎn)擊這里給我發(fā)消息 售后服務(wù)專員

在線咨詢

免費(fèi)通話

24小時(shí)免費(fèi)咨詢

請(qǐng)輸入您的聯(lián)系電話,座機(jī)請(qǐng)加區(qū)號(hào)

免費(fèi)通話

微信掃一掃

微信聯(lián)系
返回頂部
主站蜘蛛池模板: 国产自在自拍 | 欧美中文字幕一区二区 | jizz4 在线观看 | 欧美多人片高潮野外做片黑人 | 免费的又色又爽又黄的片捆绑美女 | 丁香在线视频 | 色屁屁www | 久久大香国产成人av | 国产理论高清一卡二卡三卡 | 99亚洲乱人伦aⅴ精品 | 性涩av| www三级 | 国产美女在线精品免费观看 | 成人网站av亚洲国产 | 久久久黄色一级片 | 久久综合一区 | 日日干夜夜撸 | 国产精品午夜福利不卡120 | 欧美一级欧美三级 | 九九日韩 | 中文字幕一区二区三区四区免费看 | 亚洲天天做 | 日日燥夜夜燥 | 日韩精品日韩激情日韩综合 | 国产成人乱码一二三区18 | 曰本女人牲交全视频免费播放 | 99国产精品久久久蜜芽 | 日本激情免费 | 国产猛男猛女超爽免费视频 | 91国产视频在线观看 | 国产亚洲精品久久久久久久久动漫 | 亚洲 自拍 色综合图 12p | 日韩精品成人在线 | 亚洲精品视频在线播放 | 精品国产一区二区三区久久久蜜臀 | 国产精品久久av一区二区三区 | 男人天堂网在线 | 人妻少妇精品视频专区 | 51永久免费观看国产nbamba | 国产日韩欧美日韩 | 免费在线日韩av | 成人妇女免费播放久久久 | 国产精品无码一区二区三区免费 | 精品三级久久久久电影网 | 日韩精品东京热无码视频 | 亚洲成av人在线观看成年美女 | 亚洲伊人成人网 | 欧美精品久久99 | xxx久久| 中文字幕无码乱人伦在线 | 国产成人午夜高潮毛片男男爱 | 久久久精品免费 | 欧美乱大交做爰xxxⅹ性黑人 | 无码国产精品一区二区免费16 | 欧美一区二区三区四区在线观看 | 日韩午夜影院 | 亚洲欧美日韩精品永久在线 | 天天插天天透 | 男女吻胸做爰摸下身 | 秋霞影院av | 中文字幕亚洲精品一区 | 免费a一级| 日韩精品人成在线播放 | 91爱爱com| 欧美精品久久久久性色 | 久久青青草原一区二区 | 国产chinesehdxxxx麻豆网 | 12一15性xxxx粉嫩国产 | 午夜福利啪啪无遮挡免费 | 玩丰满高大邻居人妻无码 | 狠狠色综合一区二区 | 99re6这里只有精品视频在线观看 | 国产农村妇女毛片精品久久 | 欧美日皮视频 | 成人高清无遮挡免费视频在线观看 | 国产又粗又大又黄 | 国产一区二区三区日韩精品 | 香蕉在线看| 内射一区二区精品视频在线观看 | 色8久久| 少妇性l交大片欧洲热妇乱xxx | 国产在线无码制服丝袜无码 | 中文字幕二区 | 亚洲区免费| 成人a视频片观看免费 | 国产成人啪精品午夜网站a片免费 | 欧美成人精品高清视频 | 美女网站免费观看视频 | 亡は夫の上司中文字幕 | 亚洲卡一卡2卡3卡4精品 | 日本中出中文字幕 | 一级免费毛片 | 又黄又爽的视频在线观看网站 | 色夜码无码av网站 | 四虎永久在线精品无码视频 | 成年人视频在线免费看 | 91福利在线视频 | 黄色片国产 | 久草久草 |