国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

PHP版微信公眾號消息主動推送

2020-03-22 18:44:51
字體:
來源:轉載
供稿:網友
本篇文章主要介紹PHP版微信公眾號消息主動推送,感興趣的朋友參考下,希望對大家有所幫助。

一、登錄接口部分代碼

  //登錄  private function login(){    $url = 'https://mp.weixin.qq.com/cgi-bin/login?lang=zh_CN';    $this->send_data = array(      'username' => $this->_account,      'pwd' => md5($this->_password),      'f' => 'json'    );    $this->referer = "https://mp.weixin.qq.com/";    $this->getHeader = 1;    $result = explode("/n",$this->curlPost($url));    foreach ($result as $key => $html' target='_blank'>value) {      $value = trim($value);      if(preg_match('/"ErrCode": (.*)/i', $value,$match)){//獲取token        switch ($match[1]) {          case -1:            die(json_encode(array('status'=>1,'errCode'=>$match[1],'msg'=>"系統錯誤")));          case -2:            die(json_encode(array('status'=>1,'errCode'=>$match[1],'msg'=>"帳號或密碼錯誤")));          case -3:            die(urldecode(json_encode(array('status'=>1,'errCode'=>$match[1],'msg'=>urlencode("密碼錯誤")))));          case -4:            die(json_encode(array('status'=>1,'errCode'=>$match[1],'msg'=>"不存在該帳戶")));          case -5:            die(json_encode(array('status'=>1,'errCode'=>$match[1],'msg'=>"訪問受限")));          case -6:            die(json_encode(array('status'=>1,'errCode'=>$match[1],'msg'=>"需要輸入驗證碼")));          case -7:            die(json_encode(array('status'=>1,'errCode'=>$match[1],'msg'=>"此帳號已綁定私人微信號,不可用于公眾平臺登錄")));          case -8:            die(json_encode(array('status'=>1,'errCode'=>$match[1],'msg'=>"郵箱已存在")));          case -32:            die(json_encode(array('status'=>1,'errCode'=>$match[1],'msg'=>"驗證碼輸入錯誤")));          case -200:            die(json_encode(array('status'=>1,'errCode'=>$match[1],'msg'=>"因頻繁提交虛假資料,該帳號被拒絕登錄")));          case -94:            die(json_encode(array('status'=>1,'errCode'=>$match[1],'msg'=>"請使用郵箱登陸")));          case 10:            die(json_encode(array('status'=>1,'errCode'=>$match[1],'msg'=>"該公眾會議號已經過期,無法再登錄使用")));          case 0:            $this->userFakeid = $this->getUserFakeid();            break;        }      }      if(preg_match('/^set-cookie:[/s]+([^=]+)=([^;]+)/i', $value,$match)){//獲取cookie        $this->cookie .=$match[1].'='.$match[2].'; ';      }      if(preg_match('/"ErrMsg"/i', $value,$match)){//獲取token        $this->token = rtrim(substr($value,strrpos($value,'=')+1),'",');      }    }  }


二、信息發送部分代碼

  //單發消息  private function send($fakeid,$content){    $url = 'https://mp.weixin.qq.com/cgi-bin/singlesend?t=ajax-response&lang=zh_CN';    $this->send_data = array(        'type' => 1,        'content' => $content,        'error' => 'false',        'tofakeid' => $fakeid,        'token' => $this->token,        'ajax' => 1,      );    $this->referer = 'https://mp.weixin.qq.com/cgi-bin/singlemsgpage?token='.$this->token.'&fromfakeid='.$fakeid.'&msgid=&source=&count=20&t=wxm-singlechat&lang=zh_CN';    return $this->curlPost($url);  }

三、群發信息代碼

  //群發消息  public function sendMessage($content='',$userId='') {    if(is_array($userId) && !empty($userId)){      foreach($userId as $v){        $json = json_decode($this->send($v,$content));        if($json->ret!=0){          $errUser[] = $v;        }      }    }else{      foreach($this->userFakeid as $v){        $json = json_decode($this->send($v['fakeid'],$content));        if($json->ret!=0){          $errUser[] = $v['fakeid'];        }      }    }        //共發送用戶數    $count = count($this->userFakeid);    //發送失敗用戶數    $errCount = count($errUser);    //發送成功用戶數    $succeCount = $count-$errCount;        $data = array(      'status'=>0,      'count'=>$count,      'succeCount'=>$succeCount,      'errCount'=>$errCount,      'errUser'=>$errUser     );        return json_encode($data);  }

四、獲取所有用戶信息代碼片段

  //獲取所有用戶信息  public function getAllUserInfo(){    foreach($this->userFakeid as $v){      $info[] = $this->getUserInfo($v['groupid'],$v['fakeid']);    }        return $info;  }        //獲取用戶信息  public function getUserInfo($groupId,$fakeId){    $url = "https://mp.weixin.qq.com/cgi-bin/getcontactinfo?t=ajax-getcontactinfo&lang=zh_CN&fakeid={$fakeId}";    $this->getHeader = 0;    $this->referer = 'https://mp.weixin.qq.com/cgi-bin/contactmanagepage?token='.$this->token.'&t=wxm-friend&lang=zh_CN&pagesize='.$this->pageSize.'&pageidx=0&type=0&groupid='.$groupId;    $this->send_data = array(      'token'=>$this->token,      'ajax'=>1    );    $message_opt = $this->curlPost($url);    return $message_opt;  }    //獲取所有用戶fakeid  private function getUserFakeid(){    ini_set('max_execution_time',600);    $pageSize = 1000000;    $this->referer = "https://mp.weixin.qq.com/cgi-bin/home?t=home/index&lang=zh_CN&token={$_SESSION['token']}";    $url = "https://mp.weixin.qq.com/cgi-bin/contactmanage?t=user/index&pagesize={$pageSize}&pageidx=0&type=0&groupid=0&token={$this->token}&lang=zh_CN";    $user = $this->vget($url);    $preg = "//"id/":(/d+),/"name/"/";    preg_match_all($preg,$user,$b);    $i = 0;    foreach($b[1] as $v){      $url = 'https://mp.weixin.qq.com/cgi-bin/contactmanage?t=user/index&pagesize='.$pageSize.'&pageidx=0&type=0&groupid='.$v.'&token='.$this->token.'&lang=zh_CN';      $user = $this->vget($url);      $preg = "//"id/":(/d+),/"nick_name/"/";      preg_match_all($preg,$user,$a);      foreach($a[1] as $vv){        $arr[$i]['fakeid'] = $vv;        $arr[$i]['groupid'] = $v;        $i++;      }    }    return $arr;  }

總結:以上就是本篇文的全部內容,希望能對大家的學習有所幫助。

相關推薦:

PHP怎樣生成圖像驗證碼的方法

關于PHP中set_include_path()函數相關用法詳解

PHP的AES加密算法實例詳解

以上就是PHP版微信公眾號消息主動推送的詳細內容,更多請關注 其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 容城县| 三台县| 武川县| 桃园县| 柯坪县| 牡丹江市| 河西区| 高雄县| 嘉义县| 宣武区| 丰县| 建平县| 商城县| 满洲里市| 鱼台县| 肃南| 曲阳县| 桐梓县| 巫溪县| 攀枝花市| 尤溪县| 施甸县| 襄垣县| 武安市| 通海县| 伽师县| 中西区| 邳州市| 平乐县| 商都县| 即墨市| 百色市| 宁乡县| 耒阳市| 永丰县| 中牟县| 泽库县| 桃江县| 沈丘县| 繁昌县| 宜城市|