zoukankan      html  css  js  c++  java
  • 一个很二的方法获取微信最近5天的信息

    <?php
    echo '<meta http-equiv="content-type" content="text/html;charset=utf-8">';//防止乱码
    error_reporting( E_ALL ^ E_NOTICE );
    // 使用说明:
    // 开始要登录
    $param = array();
    $param['username'] = '你的公共微信账号';
    $param['pwd'] = '你的密码';
    
    echo '<pre>';
    
    $wx = new Weixin();
    $flag = $wx->login($param);
    
    echo "登录:
    ";
    var_dump($flag);
    /**
    echo "
    ";
    echo "获取分组:
    ";
    $group = $wx->getGroup();
    var_dump($group);
    
    echo "
    ";
    echo "分组成员:
    ";
    $group = $wx->getFriendByGroup('0');
    var_dump($group);
    **/
    
    //代码只适应于文字信息,图文没有测试,图文的只是链接里的参数不一样,判断一下就OK了
    echo "
    ";
    $msg = $wx->newmesg(0);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";//如果是nickname打印出微信名称
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";//如果是时间字段,格式打印出时间
                }
             if($key1=="content") {
                 echo "$v1"."<br>";//打印发送过来的内容
                 }
     }
    
     }
    
    
    
    
    
    echo "
    ";
    $msg = $wx->newmesg(20);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    echo "
    ";
    $msg = $wx->newmesg(40);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    echo "
    ";
    $msg = $wx->newmesg(60);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    echo "
    ";
    $msg = $wx->newmesg(80);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    echo "
    ";
    $msg = $wx->newmesg(100);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    echo "
    ";
    $msg = $wx->newmesg(120);
    foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    echo "
    ";
    $msg = $wx->newmesg(140);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    echo "
    ";
    $msg = $wx->newmesg(160);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    echo "
    ";
    $msg = $wx->newmesg(180);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    echo "
    ";
    $msg = $wx->newmesg(200);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    echo "
    ";
    $msg = $wx->newmesg(220);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    echo "
    ";
    $msg = $wx->newmesg(240);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    echo "
    ";
    $msg = $wx->newmesg(260);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    echo "
    ";
    $msg = $wx->newmesg(260);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    echo "
    ";
    $msg = $wx->newmesg(280);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    echo "
    ";
    $msg = $wx->newmesg(300);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    echo "
    ";
    $msg = $wx->newmesg(3200);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    echo "
    ";
    $msg = $wx->newmesg(340);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    echo "
    ";
    $msg = $wx->newmesg(360);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    echo "
    ";
    $msg = $wx->newmesg(380);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    echo "
    ";
    $msg = $wx->newmesg(400);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    echo "
    ";
    $msg = $wx->newmesg(420);
     foreach($msg as $key=>$v){     
      foreach($v as $key1=>$v1){
         // echo "$key1:$v1"."<br>";
           if($key1=="nick_name") {
               echo "$v1"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               }
          if($key1=="date_time") {
                echo date("Y-m-d",$v1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
             if($key1=="content") {
                 echo "$v1"."<br>";
                 }
     }
    
     }
    
    
    /**
    echo "
    ";
    echo "获取图文:
    ";
    $mesg = $wx->getMsg();
    var_dump($mesg);
    
    
    
    echo "
    ";
    echo "发送消息:
    ";
    **/
    // 说明:如果$content为文字发送文本消息
    // 说明:如果$content为图文ID则发送图文消息
    //$content = '测试文本'; // 文本
    //$content = '10000023'; // 图文 素材id
    //$mesg = $wx->battchMesgByGroup('101', $content);
    //var_dump($mesg);
    /**$arr = array(
    'fakeId'=>'985865180',
    "nickName"=>"逄锦涛",
    "remarkName"=>'',
    'content'=>'10000002'
    );
    $s=$wx->sendmesg($arr);
    var_dump($s);
    echo "df";
    
    **/
    /**
     * 微信公众平台操作
     * 基本于PHP-CURL
     * 
     * @author phpbin
     *
     */
    class Weixin
    {
        
        /**
         * PHP curl头部分
         * 
         * @var array
         */
        private $_header;
        
        /**
         * 通讯cookie
         * 
         * @var string
         */
        private $_cookie;
        
        /**
         * 令牌
         * 
         * @var string
         */
        private $_token;
        
        /**
         * 初始化,设置header
         */
        public function __construct()
        {
            $this->_header = array();
            $this->_header[] = "Host:mp.weixin.qq.com";
            $this->_header[] = "Referer:https://mp.weixin.qq.com/cgi-bin/getmessage";
        }
        
        /**
         * 用户登录
         * 结构 $param = array('username'=>'', 'pwd'=>'');
         * 
         * @param array $param
         * @return boolean
         */
        public function login($param)
        {
            $url = 'https://mp.weixin.qq.com/cgi-bin/login?lang=zh_CN';
            $post = 'username='.urlencode($param['username']).'&pwd='.md5($param['pwd']).'&imgcode=&f=json';
            $stream = $this->_html($url, $post);
            
            // 判断是不是登录成功
            $html = preg_replace("/^.*{/is", "{", $stream);
            $json = json_decode($html, true);
            //获取 token
            preg_match("/lang=zh_CN&token=(d+)/is", $json['ErrMsg'], $match);
            $this->_token = $match[1];
            
            // 获取cookie
            $this->_cookie($stream); 
            return (boolean)$this->_token;
        }
        
        /**
         * 获取图文消息
         *
         * @return array
         */
        public function getMsg()
        {
            $url = 'https://mp.weixin.qq.com/cgi-bin/operate_appmsg?token='.$this->_token.'&lang=zh_CN&sub=list&type=10&subtype=3&t=wxm-appmsgs-list-new&pagesize=10&pageidx=0&lang=zh_CN';
            $stream = $this->_html($url);
            
            // 分析分组中好友
            preg_match_all('/"appId":"(d+)".*?"title":"(.*?)".*?/is', $stream, $matches);
            if ( !is_array($matches[1])) return false;
        
            $returns = array();
            foreach ( $matches[1] as $key=>$val) {
                $temp = array();
                $returns[$matches[1][$key]] = $matches[2][$key];
            }
            return $returns;
        }
        
        /**
         * 获取平台分组
         * 
         * @return array
         */
        public function getGroup()
        {
            $url = 'https://mp.weixin.qq.com/cgi-bin/contactmanage?t=user/index&pagesize=10&pageidx=0&type=0&groupid=0&token='.$this->_token.'&lang=zh_CN';
            $stream = $this->_html($url);
            
            // 分组
            preg_match('/"groups":(.*?)\}).groups/is', $stream, $match);
            $jsonArr = json_decode($match[1], true);
            $returns = array();
            foreach ( $jsonArr as $key=>$val) {
              $returns[$val['id']] = $val['name'].'('.$val['cnt'].')';    
            }
            return $returns;
        }
        
        /**
         * 获取分组成员
         * 
         * @param integer $gId
         * @return array;
         */
        public function getFriendByGroup($gId)
        {
            $url = 'https://mp.weixin.qq.com/cgi-bin/contactmanage?t=user/index&pagesize=10&pageidx=0&type=0&groupid='.$gId.'&token='.$this->_token.'&lang=zh_CN';
            $stream = $this->_html($url);
            
            // 分析分组中好友
            preg_match('/"contacts":(.*?)\}).contacts/is', $stream, $match);
            $jsonArr = json_decode($match[1], true);
            
            if ( !is_array($jsonArr)) return false;
    
            $returns = array();
            foreach ( $jsonArr as $key=>$val) {
                $temp = array();
                $temp['fakeId']     = $val['id'];
                $temp['nickName']   = $val['nick_name'];
                $temp['remarkName'] = $val['remark_name'];
                $returns[] = $temp;
            }
            return $returns;
        }
        
        /**
         * 批量按组发送
         * 
         * @param integer $gId 分组ID
         * @param string $content
         * @return array
         */
        public function battchMesgByGroup($gId, $content)
        {
            $mebInfo = $this->getFriendByGroup($gId);
            
            if ( false == $mebInfo) return false;
            
            // 循环发送
            $returns = array();
            foreach ( $mebInfo as $key=>$val)
            {
                $val['content'] = $content;
                $this->sendmesg($val) ? $returns['succ'] ++ : $returns['err']++;
            }
            return $returns;
        }
        
            
        /**
         * 发送消息
         * 
         * 结构 $param = array(fakeId, content, msgId);
         * @param array $param
         * @return boolean
         */
        public function sendmesg($param)
        {
            $url  = 'https://mp.weixin.qq.com/cgi-bin/singlesend?t=ajax-response';
            
            // 分类型进行推送
            if ( (int)$param['content']>100000)
            {
                $post = 'error=false&tofakeid='.$param['fakeId'].'&type=10&fid='.$param['content'].'&appmsgid='.$param['content'].'&quickreplyid='.$param['msgId'].'&token='.$this->_token.'&ajax=1';
            } else {
                $post = 'error=false&tofakeid='.$param['fakeId'].'&type=1&content='.$param['content'].'&quickreplyid='.$param['msgId'].'&token='.$this->_token.'&ajax=1';
            }
    
            $this->_header[1] = "Referer:https://mp.weixin.qq.com/cgi-bin/singlemsgpage?msgid=&source=&count=20&t=wxm-singlechat&fromfakeid=".$param['fakeId']."&token=".$this->_token;
            $stream = $this->_html($url, $post);
            
            // 是不是设置成功
            $html = preg_replace("/^.*{/is", "{", $stream);
            $json = json_decode($html, true);
            return (boolean)$json['msg'] == 'ok';
        }
        
        /**
         * 从Stream中提取cookie
         * 
         * @param string $stream
         */
        private function _cookie($stream)
        {
            preg_match_all("/Set-Cookie: (.*?);/is", $stream, $matches);        
            $this->_cookie = @implode(";", $matches[1]);
        }
        
        /**
         * 获取Stream
         * 
         * @param string $url
         * @param string $post
         * @return mixed
         */
        private function _html($url, $post = FALSE)
        {
            ob_start();
            $ch = curl_init($url);
            curl_setopt($ch, CURLOPT_HEADER, true);
            curl_setopt($ch, CURLOPT_HTTPHEADER, $this->_header);
            curl_setopt($ch, CURLOPT_TIMEOUT, 300);
            if ( $post){
                curl_setopt($ch, CURLOPT_POST, true);
              curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
            }
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_COOKIE, $this->_cookie);
            //curl_setopt($ch, CURLOPT_PROXY, 'http://10.100.10.100:3128');
            curl_exec($ch);
            curl_close($ch);
            $_str = ob_get_contents();
            $_str = str_replace("script", "", $_str);
            
            ob_end_clean();
            return $_str;
        }
        /**
         * 获取最新消息
         * 
         * 返回结构:id:msgId; fakeId; nickName; content;
         * 
         * @return array
         */
    public function newmesg($ee)
        {
    
        
            $url='https://mp.weixin.qq.com/cgi-bin/message?t=message/list&action=&keyword=&frommsgid=200122055&offset='.$ee.'&count=20&day=7&filterivrmsg=0&token='.$this->_token;
            
            $stream = $this->_html($url);
            
            preg_match('/"msg_item":(.*?)\}).msg_item/is', $stream, $match);
            $jsonArr = json_decode($match[1], true);
            
            $returns = array();
            foreach ( $jsonArr as $val){
                if ( isset($val['is_starred_msg'])) continue;
          $returns[] = $val;
            }
            return $returns;
        }
    }
    ?>


    $wx = new Weixin();
    $flag = $wx->login($param);

    使用这个方法的时候,如果的信息比较多,可以循环

    为什么不正则匹配出page页数,我试过,接受过来之后,不知道是什么原因,老是采集超时。

    $p ="看下你有多少页+1在乘以20";

    for循环一下$flag = $wx->login($p );

    我没循环的原因之一,就是采集超时,可能是我公司的网络比较差的原因,写得搓

    只打印3个值,如果你想多打印些,可以吧对应字段全都打印出来

    记住开始CURL才能运行起来

  • 相关阅读:
    C# 扩展方法使用
    C# 程序集安装与卸载
    C#截取当前活动窗体的图片
    DateTime格式
    c# asp.net 多数组索引的解决方法
    关于DataSet中Relations的应用
    datalist 分页
    ASP.NET(C#) Repeater分页的实现
    asp.net 六大对象之Request、Response
    什么是DOM
  • 原文地址:https://www.cnblogs.com/zx-admin/p/3625956.html
Copyright © 2011-2022 走看看