php版微信公眾賬號(hào)第三方管理工具開發(fā)簡(jiǎn)明教程
本文講述了php版微信公眾賬號(hào)第三方管理工具開發(fā)方法。分享給大家供大家參考,具體如下:
最近在搗鼓微信公共平臺(tái)提供的API,等確實(shí)一個(gè)獲取用戶信息的API。
所以沒有辦法,只能自己去獲取,手動(dòng)填寫當(dāng)然可以解決問題,當(dāng)然編程不就是為了讓生活變的更簡(jiǎn)單么?
當(dāng)然,遠(yuǎn)程抓取微信公共平臺(tái)數(shù)據(jù)的想法就油然而生,當(dāng)然第一個(gè)想到了CURL。
CURL可以遠(yuǎn)程提交表達(dá),我感覺微信是提議讓我們?cè)趺吹?,只要不是惡意刷接口,就不?huì)出現(xiàn)驗(yàn)證碼。
主要注意的幾個(gè)問題:
① 遠(yuǎn)程登錄接口是時(shí)候的HTTPS協(xié)議。
② 登錄成功后頁面有跳轉(zhuǎn)。
③ 返回的HTML頁面是可以直接輸出的。
下面展示了一個(gè)CURL的具體寫法
//微信遠(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),接下來的事,就是去讓賬號(hào)變成開發(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;
}
}
這樣如果開通成功了,應(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來構(gòu)造URL,來獲取其他頁面信息。
但開發(fā)現(xiàn)過程中,你一定遇到一個(gè)很崩潰的問題。
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP微信開發(fā)技巧匯總》、《PHP編碼與轉(zhuǎn)碼操作技巧匯總》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語法入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
Swoole?webSocket客服IM消息系統(tǒng)方案解析
這篇文章主要為大家介紹了Swoole?webSocket客服IM消息系統(tǒng)方案解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
PHP面向?qū)ο笾I(lǐng)域模型+數(shù)據(jù)映射器實(shí)例(分析)
下面小編就為大家?guī)硪黄狿HP面向?qū)ο笾I(lǐng)域模型+數(shù)據(jù)映射器實(shí)例(分析)。小編覺得挺不錯(cuò)的。現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
laravel框架實(shí)現(xiàn)敏感詞匯過濾功能示例
這篇文章主要介紹了laravel框架實(shí)現(xiàn)敏感詞匯過濾功能,結(jié)合實(shí)例形式分析了laravel框架通過擴(kuò)展php-dfa-sensitive實(shí)現(xiàn)敏感詞過濾的相關(guān)操作技巧,需要的朋友可以參考下2020-02-02
在 Laravel 6 中緩存數(shù)據(jù)庫查詢結(jié)果的方法
這篇文章主要介紹了在 Laravel 6 中緩存數(shù)據(jù)庫查詢結(jié)果的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
Thinkphp5+Redis實(shí)現(xiàn)商品秒殺代碼實(shí)例講解
這篇文章主要介紹了Thinkphp5+Redis實(shí)現(xiàn)商品秒殺代碼實(shí)例講解,代碼和步驟講解的很清楚,有需要的同學(xué)可以借鑒參考下2020-12-12

