這篇文章給大家分享的是有關(guān)php版微信公眾賬號(hào)第三方管理工具開(kāi)發(fā)的示例分析的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
具體如下:
最近在搗鼓微信公共平臺(tái)提供的API,等確實(shí)一個(gè)獲取用戶信息的API。
所以沒(méi)有辦法,只能自己去獲取,手動(dòng)填寫(xiě)當(dāng)然可以解決問(wèn)題,當(dāng)然編程不就是為了讓生活變的更簡(jiǎn)單么?
當(dāng)然,遠(yuǎn)程抓取微信公共平臺(tái)數(shù)據(jù)的想法就油然而生,當(dāng)然第一個(gè)想到了CURL。
CURL可以遠(yuǎn)程提交表達(dá),我感覺(jué)微信是提議讓我們?cè)趺吹?,只要不是惡意刷接口,就不?huì)出現(xiàn)驗(yàn)證碼。
主要注意的幾個(gè)問(wèn)題:
① 遠(yuǎn)程登錄接口是時(shí)候的HTTPS協(xié)議。
② 登錄成功后頁(yè)面有跳轉(zhuǎn)。
③ 返回的HTML頁(yè)面是可以直接輸出的。
下面展示了一個(gè)CURL的具體寫(xiě)法
//微信遠(yuǎn)程登錄綁定賬號(hào) public function Curl_login($username,$pwd){ $config_token = "XiaoDengPHP"; $pwd = md5($pwd); $url = "https://mp.weixin.qq.com/cgi-bin/login?lang=zh_CN"; $postArray = array("username=".$username,"pwd=".$pwd,"imgcode=","f=json"); $fields = implode("&", $postArray); $filedir = $_SERVER['DOCUMENT_ROOT']."/Cookies"; $cookie_file = $filedir."/cookie.txt"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); //表示是https協(xié)議提交 curl_setopt($ch, CURLOPT_HEADER, 0); //不返回header部分 curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); //生產(chǎn)Cookies并保存在指定目錄下 curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //將curl_exec()獲取的信息以文件流的形式返回,而不是直接輸出。 curl_setopt($ch, CURLOPT_REFERER,"https://mp.weixin.qq.com/cgi-bin/login?lang=zh_CN"); //跳轉(zhuǎn)指向 $result = curl_exec($ch); return json_decode($result); // 關(guān)閉CURL會(huì)話 curl_close($ch); }
上面這個(gè)方法就實(shí)現(xiàn)了,遠(yuǎn)程登錄微信公共平臺(tái),接下來(lái)的事,就是去讓賬號(hào)變成開(kāi)發(fā)者模式,一樣的CURL。
注意這次的curl要帶上cookies而不是生產(chǎn)cookies
重點(diǎn)代碼在于驗(yàn)證服務(wù)器的相應(yīng),你需要設(shè)置一個(gè)服務(wù)器的連接和一個(gè)token
public function auth($token) { $data = array( $_GET['timestamp'], $_GET['nonce'], $token); $sign = $_GET['signature']; sort($data); $signature = sha1(implode($data)); if($signature === $sign){ echo ($_GET['echostr']); exit; }else{ return false; } }
這樣如果開(kāi)通成功了,應(yīng)該會(huì)返回一個(gè)MES=302的json數(shù)據(jù)和一個(gè)微信平臺(tái)認(rèn)證的token的信息。
只要你細(xì)心,你就會(huì)發(fā)現(xiàn),微信連接里面TOKEN是一個(gè)動(dòng)態(tài)變化的,但有是在一段時(shí)間內(nèi)不變的。
所以你需要這個(gè)token來(lái)構(gòu)造URL,來(lái)獲取其他頁(yè)面信息。
但開(kāi)發(fā)現(xiàn)過(guò)程中,你一定遇到一個(gè)很崩潰的問(wèn)題。
感謝各位的閱讀!關(guān)于“php版微信公眾賬號(hào)第三方管理工具開(kāi)發(fā)的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
當(dāng)前名稱(chēng):php版微信公眾賬號(hào)第三方管理工具開(kāi)發(fā)的示例分析-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://aaarwkj.com/article28/dopscp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、微信公眾號(hào)、ChatGPT、移動(dòng)網(wǎng)站建設(shè)、小程序開(kāi)發(fā)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容