程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php版微信公眾賬號第三方管理工具開發簡明教程,php簡明教程

php版微信公眾賬號第三方管理工具開發簡明教程,php簡明教程

編輯:關於PHP編程

php版微信公眾賬號第三方管理工具開發簡明教程,php簡明教程


本文講述了php版微信公眾賬號第三方管理工具開發方法。分享給大家供大家參考,具體如下:

最近在搗鼓微信公共平台提供的API,等確實一個獲取用戶信息的API。

所以沒有辦法,只能自己去獲取,手動填寫當然可以解決問題,當然編程不就是為了讓生活變的更簡單麼?

當然,遠程抓取微信公共平台數據的想法就油然而生,當然第一個想到了CURL。

CURL可以遠程提交表達,我感覺微信是提議讓我們怎麼的,只要不是惡意刷接口,就不會出現驗證碼。

主要注意的幾個問題:

① 遠程登錄接口是時候的HTTPS協議。
② 登錄成功後頁面有跳轉。
③ 返回的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協議提交
  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);
}

上面這個方法就實現了,遠程登錄微信公共平台,接下來的事,就是去讓賬號變成開發者模式,一樣的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數據和一個微信平台認證的token的信息。

只要你細心,你就會發現,微信連接裡面TOKEN是一個動態變化的,但有是在一段時間內不變的。

所以你需要這個token來構造URL,來獲取其他頁面信息。

但開發現過程中,你一定遇到一個很崩潰的問題。

更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP微信開發技巧匯總》、《PHP編碼與轉碼操作技巧匯總》、《PHP網絡編程技巧總結》、《PHP基本語法入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved