| 关键词: curl sid params matches CURLOPT data http setopt num qq |
<?php include"http_no_cookie.class.php"; classqq { public$sid; public$http; public$qq_num; function__construct() { $this->http =newhttp_no_cookie; } functionlogin($qq_num,$qq_pwd) { echo $data=$this->http->get("http://pt.3g.qq.com/"); $action= preg_match("/action=\"(.+)?\"/",$data,$matches); $action=$matches[1]; $params=array(); $params["login_url"] ="http://pt.3g.qq.com/s?aid=nLogin"; $params["sidtype"] = 1; $params["loginTitle"] ="手机腾讯网"; $params["bid"] = 0; $params["qq"] =$qq_num; $params["pwd"] =$qq_pwd; $params["loginType"] =1; echo$data=$this->http->post($action, http_build_query($params)); if(preg_match("/http:\/\/vc.gtimg.com\//",$data,$matches)){ echo"需要输入验证码"; return0; exit; } if(preg_match("/密码错误/",$data,$matches)){ echo"密码错误"; return1; exit; } $action= preg_match("/sid=(.+?)&/",$data,$matches); $this->sid =$matches[1]; return$this->sid; } functionsendMsg($to_num,$msg,$sid= 0) { $sid=$sid?$sid:$this->sid; if(!$sid) exit("sid值未传入进去"); $params=array(); $params["msg"] =$msg; $params["u"] =$to_num; $params["saveURL"] = 0; $params["do"] ="send"; $params["on"] = 1; $params["aid"] ="发送"; $url="http://q16.3g.qq.com/g/s?sid=".$sid; echo$data=$this->http->post($url, http_build_query($params)); return$data; } functiongetMsg($qq_num= 0,$sid= 0) { $qq_num=$qq_num?$qq_num:$this->qq_num; if(!$qq_num) exit("qq_num值未传入进去"); $sid=$sid?$sid:$this->sid; if(!$sid) exit("sid值未传入进去"); $url="http://q16.3g.qq.com/g/s?sid=".$sid."&3G_UIN=".$qq_num."&saveURL=0&aid=nqqChat"; $data=$this->http->get($url); preg_match("/name=\"u\" value=\"(\d+)\"/",$data,$matches); $result["qq"] =$matches[1]; $data=explode("<form",$data); $data=$data[0]; preg_match_all("/<p>(.+)?<\/p>/",$data,$matches); unset($matches[1][0]); $result["content"] =$matches[1]; return$result; } functionlogout($sid){ $url="http://pt.3g.qq.com/s?sid=".$sid."&aid=nLogout"; echo$url; echo$this->http->get($url); } functiongetFriendsList($qq_num= 0,$sid= 0){ $result=array(); $qq_num=$qq_num?$qq_num:$this->qq_num; if(!$qq_num) exit("qq_num值未传入进去"); $sid=$sid?$sid:$this->sid; if(!$sid) exit("sid值未传入进去"); $url="http://q16.3g.qq.com/g/s?aid=nqqchatMain&sid=".$sid."&myqq=".$qq_num; while(true){ $i=1; $url.="&p=".$i; $data=$this->http->get($url); preg_match_all("/u=(.+?)&/",$data,$matches); foreach($matches[1]as$key=>$value){ $result[]=$value; } if(count($matches[1])<13) break; $i++; } return$result; } } <?php //PHP代码 classhttp_no_cookie { private$curl; public$user_agent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.29 Safari/525.13"; publicfunctionget($url) { $this->curl = curl_init(); curl_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, 8); curl_setopt($this->curl, CURLOPT_URL,$url); curl_setopt($this->curl, CURLOPT_HEADER, 0); curl_setopt($this->curl, CURLOPT_USERAGENT,$this->user_agent); curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, 1); $data= curl_exec($this->curl); curl_close($this->curl); return$data; } publicfunctionpost($url,$params) { $this->curl = curl_init(); curl_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, 8); curl_setopt($this->curl, CURLOPT_URL,$url); curl_setopt($this->curl, CURLOPT_HEADER, 1); curl_setopt($this->curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($this->curl, CURLOPT_POST, 1); curl_setopt($this->curl, CURLOPT_USERAGENT,$this->user_agent); curl_setopt($this->curl, CURLOPT_POSTFIELDS,$params); curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, 1); $data= curl_exec($this->curl); curl_close($this->curl); return$data; } } ?> 原文:http://lvxinwei.sinaapp.com/961.html |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|