当前位置 : 主页 > 网络编程 > PHP >

来疯直播间模拟登录群发信息

来源:互联网 收集:自由互联 发布时间:2021-07-03
?php //使用时必须先配置 //$cookiefile(COOKIE 存放路径) //$user(用户名,优酷土豆来疯都行) //$pass(密码,优酷土豆来疯都行); class laifeng { //cookie存放路径 private $cookiefile = "cookie.txt"; //房
 
<?php
  
//使用时必须先配置 
//$cookiefile(COOKIE 存放路径) 
//$user(用户名,优酷土豆来疯都行) 
//$pass(密码,优酷土豆来疯都行);
  
class laifeng
  
{
  
    //cookie存放路径
  
    private $cookiefile = "cookie.txt";
  
    //房间号
  
    private $id;
  
    //用户名
  
    private $user='1234@qq.com';
  
    //密码
  
    private $pass=12345678;
  
    //模拟登录获取yktk
  
    public function __construct($idd=null){
  
        $this->id=$idd;
  
    }
  
      
  
    public function getkey()
  
    {
  
        $user=urldecode($this->user);
  
        $pass=urldecode(md5($this->pass));
  
        $url = "http://www.laifeng.com/login/";
  
        $data = "userName=".$user."&password=".$pass."&forever=1&returnurl=http%3a%2f%2fwww.laifeng.com%2f7437";
  
        $ch = curl_init();
  
        curl_setopt($ch, CURLOPT_URL, $url);
  
        curl_setopt($ch, CURLOPT_HEADER, 0);
  
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  
        curl_setopt($ch, CURLOPT_POST, 1);
  
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  
        curl_setopt($ch, CURLOPT_COOKIEJAR, $this->cookiefile);
  
        curl_setopt($ch, CURLOPT_COOKIEFILE, $this->cookiefile);
  
        curl_setopt($ch, CURLOPT_REFERER, "http://www.laifeng.com/login/");
  
        curl_setopt($ch, CURLOPT_USERAGENT,"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)");
  
        $info = curl_exec($ch);
  
        curl_close($ch);
  
        $y = json_decode($info, true);
  
        $yktk = $y['response'];
  
        return $yktk;
  
    }
  
    //获取cookie
  
    private function login(){
  
        $yktk=$this->getkey();
  
        if($yktk['code']!=0){
  
            echo $yktk['msg'];
  
            exit();
  
        }else{
  
            $url=$yktk['data'];
  
            $ch=curl_init();
  
            curl_setopt($ch,CURLOPT_URL,$url);
  
            curl_setopt($ch,CURLOPT_HEADER,1);
  
            curl_setopt($ch,CURLOPT_COOKIEFILE,$this->cookiefile);
  
            curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  
            curl_setopt($ch,CURLOPT_REFERER,"http://www.laifeng.com/".$this->id);
  
            curl_setopt($ch,CURLOPT_COOKIEJAR,$this->cookiefile);
  
            curl_exec($ch);
  
            curl_close($ch);
  
            echo("<script>location.reload();</script>");
  
            return $yktk['msg'];
  
            //echo $y[1];
  
        }
  
    }
  
    //输出页面
  
    public function curl(){
  
        $this->login();
  
        $url="http://www.laifeng.com/".$this->id;
  
        $ch=curl_init();
  
        curl_setopt($ch,CURLOPT_URL,$url);
  
        curl_setopt($ch,CURLOPT_HEADER,0);
  
        curl_setopt($ch,CURLOPT_COOKIEFILE,$this->cookiefile);
  
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  
        curl_setopt($ch,CURLOPT_REFERER,"http://www.laifeng.com/".$this->id);
  
        curl_setopt($ch,CURLOPT_COOKIEJAR,$this->cookiefile);
  
        $info=curl_exec($ch);
  
        $info=str_replace('room/js','http://static.youku.com/ddshow/8125f00c/room/js',$info);
  
        curl_close($ch);
  
        return $info;
  
    }
  
      
  
    //获取用户名
  
    public function top(){
  
        $url="http://www.laifeng.com";
  
        $ch=curl_init();
  
        curl_setopt($ch,CURLOPT_URL,$url);
  
        curl_setopt($ch,CURLOPT_HEADER,1);
  
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  
        curl_setopt($ch,CURLOPT_REFERER,"http://www.laifeng.com/");
  
        curl_setopt($ch,CURLOPT_COOKIEFILE,$this->cookiefile);
  
        $m=curl_exec($ch);
  
        curl_close($ch);
  
        $mate="@<a class=\\"user-name-link\\" href=\\"/my/profile/init\\" target=\\"_blank\\" title=\\"(.*)\\">@iUs";
  
        preg_match_all($mate,$m,$arr);
  
        if(@$arr[1][0]){
  
            echo $arr[1][0]; 
  
        }else{
  
            echo("<script>alert('登录超时,正在尝试自动登录.....');</script>");
  
            echo $this->login();
  
        }
  
          
  
    }
  
    //发送信息模板
  
    public function msg($msg,$url){
  
        //$url="http://www.laifeng.com/room/7437/chat/save";
  
        $ch=curl_init();
  
        curl_setopt($ch,CURLOPT_URL,$url);
  
        curl_setopt($ch,CURLOPT_HEADER,0);
  
        curl_setopt($ch,CURLOPT_POST,1);
  
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  
        curl_setopt($ch,CURLOPT_REFERER,"http://www.laifeng.com/".$this->id);
  
        curl_setopt($ch,CURLOPT_POSTFIELDS,$msg);
  
        curl_setopt($ch,CURLOPT_COOKIEFILE,$this->cookiefile);
  
        $info=curl_exec($ch);
  
        curl_close($ch);
  
        $arr=json_decode($info,true);
  
        if($arr['response']['code']==-2){
  
            echo("<script>alert('登录超时,正在尝试自动登录.....');</script>");
  
            echo $this->login();
  
        }else{
  
          echo $arr['response']['msg'];  
  
        }
  
    }
  
    //发送文字 参数为发送内容
  
    public function msgtxt($data){
  
        $msg="single=0&content=".urlencode($data)."&anchorId=0&roomId=".$this->id;
  
        $url="http://www.laifeng.com/room/".$this->id."/chat/save";
  
        return $this->msg($msg,$url);
  
    }
  
      
  
    //送花  参数为数量
  
    public function flower($data=1){
  
        $msg="roomId=".$this->id."&quantity=".$data;
  
        $url="http://www.laifeng.com/room/".$this->id."/star/send";
  
        return $this->msg($msg,$url);
  
    }
  
    //抓取正在直播的ID
  
      
  
}//laifeng class
  
class exe{
  
    //抓取房间ID
  
    public function anchor($pageid=1){
  
        $page=file_get_contents("http://www.laifeng.com/anchor/search?pageNo=".$pageid);
  
        //$count=file_get_contents("http://www.laifeng.com/anchor/search");
  
        $mage="@<p class=\\"name\\">(.*)<a href=\\"/(.*)\\" title=\\"(.*)\\" target=\\"_blank\\">(.*)</a>@iUs";
  
        $match="@//总页数(.*)totalNum:(.*),(.*)//当前页数@iUs";
  
        preg_match_all($mage,$page,$arr);
  
        preg_match_all($match,$page,$pagecount);
  
        $page=array();
  
        $page['count']=$pagecount[2][0];
  
        $page['data']=$arr[2];
  
        return $page;
  
    }
  
    //抓取房间总页数
  
    public function pagecount(){
  
        $page=file_get_contents("http://www.laifeng.com/anchor/search");
  
        $match="@//总页数(.*)totalNum:(.*),(.*)//当前页数@iUs";
  
        preg_match_all($match,$page,$arr);
  
        echo $arr[2][0];
  
    }
  
}
  
//$exe=new exe();
  
//$exe->pagecount();
  
//$arr=$exe->anchor(1);
  
//foreach($arr as $k=>$v){
  
//    $lai=new laifeng($v);
  
//    echo"房间ID:".$v."&nbsp;";
  
//    echo $lai->msgtxt('嗨');
  
//    echo"<br />";
  
//}
  
  
  
//echo $lai->msgtxt("这是一段测试文字1234");
  
//for($i=7437;$i<=7439;$i++){
  
//    $lai=new laifeng($i);
  
//   echo $lai->msgtxt("1111"); 
  
//}
  
  
  
//$lai->flower(1); 
  
//echo $lai->curl();
  
?>

网友评论