php版微信公眾賬號第三方管理工具開發(fā)簡明教程
本文講述了php版微信公眾賬號第三方管理工具開發(fā)方法。分享給大家供大家參考,具體如下:
最近在搗鼓微信公共平臺提供的API,等確實一個獲取用戶信息的API。
所以沒有辦法,只能自己去獲取,手動填寫當然可以解決問題,當然編程不就是為了讓生活變的更簡單么?
當然,遠程抓取微信公共平臺數(shù)據(jù)的想法就油然而生,當然第一個想到了CURL。
CURL可以遠程提交表達,我感覺微信是提議讓我們怎么的,只要不是惡意刷接口,就不會出現(xiàn)驗證碼。
主要注意的幾個問題:
① 遠程登錄接口是時候的HTTPS協(xié)議。
② 登錄成功后頁面有跳轉。
③ 返回的HTML頁面是可以直接輸出的。
下面展示了一個CURL的具體寫法
//微信遠程登錄綁定賬號 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); //生產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"); //跳轉指向 $result = curl_exec($ch); return json_decode($result); // 關閉CURL會話 curl_close($ch); }
上面這個方法就實現(xiàn)了,遠程登錄微信公共平臺,接下來的事,就是去讓賬號變成開發(fā)者模式,一樣的CURL。
注意這次的curl要帶上cookies而不是生產cookies
重點代碼在于驗證服務器的相應,你需要設置一個服務器的連接和一個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; } }
這樣如果開通成功了,應該會返回一個MES=302的json數(shù)據(jù)和一個微信平臺認證的token的信息。
只要你細心,你就會發(fā)現(xiàn),微信連接里面TOKEN是一個動態(tài)變化的,但有是在一段時間內不變的。
所以你需要這個token來構造URL,來獲取其他頁面信息。
但開發(fā)現(xiàn)過程中,你一定遇到一個很崩潰的問題。
更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP微信開發(fā)技巧匯總》、《PHP編碼與轉碼操作技巧匯總》、《PHP網(wǎng)絡編程技巧總結》、《PHP基本語法入門教程》、《php字符串(string)用法總結》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
相關文章
PHP連接SQL Server的方法分析【基于thinkPHP5.1框架】
這篇文章主要介紹了PHP連接SQL Server的方法,結合實例形式分析了基于thinkPHP5.1框架Db類以及使用PDO進行SQL Server數(shù)據(jù)庫連接的相關操作實現(xiàn)技巧,需要的朋友可以參考下2019-05-05如何使用jQuery+PHP+MySQL來實現(xiàn)一個在線測試項目
本文將結合實例給大家介紹如何使用jQuery+PHP+MySQL來實現(xiàn)在線測試題,包括動態(tài)讀取題目,答題完畢后臺評分,并返回答題結果。2015-04-04Laravel接收前端ajax傳來的數(shù)據(jù)的實例代碼
本篇文章主要介紹了Laravel接收前端ajax傳來的數(shù)據(jù)的實例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-07-07