PHP实现QQ空间自动回复说说的方法
本文实例讲述了PHP实现QQ空间自动回复说说的方法。分享给大家供大家参考,具体如下:
<?php
header("Content-type:text/html;charset=utf-8");
$qq='';//QQ号
$sid='';//填写sid的值
$con='';//自定义内容,留空则使用simsimi
$qzone=newqzone($qq,$sid);
classqzone{
private$sid='';
publicfunction__construct($qq,$sid){
$this->sid=$sid;
$url="http://ish.z.qq.com/infocenter_v2.jsp?B_UID={$qq}&sid={$sid}&g_ut=2";
$re=$this->fetch($url);
$this->getsaying($re);
}
privatefunctionfetch($url,$postdata=null){
$ch=curl_init();//www.oicqzone.com
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/5.0(compatible;MSIE10.0;WindowsPhone8.0;Trident/6.0;IEMobile/10.0;ARM;Touch;NOKIA;Lumia820)");
if($postdata!=null)curl_setopt($ch,CURLOPT_POSTFIELDS,$postdata);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_TIMEOUT,20);
$re=curl_exec($ch);
curl_close($ch);
return$re;
}
privatefunctiongetsaying($html){
preg_match_all('/<\/a>:(.*?)评论\(\d\)<\/a>/',$html,$match);
foreach($match[0]as$k){
if(strstr($k,'评论(0)')){
$k=str_replace(PHP_EOL,'',$k);
$k=str_replace(' ','',$k);
$k=html_entity_decode($k);
preg_match('/<\/a>:(.*?)<spanclass="txt-fade">/',$k,$content);//www.oicqzone.com
preg_match('/myfeed_mood.jsp\?sid=.*&B_(.*?)&t1_source/',$k,$data);
$content=preg_replace('/<img[^>]+>/','',$content[1]);
echo'找到一条说说:'.$content.'机器人的回复是:';
$data='B_'.$data[1];
$content=talk($content);
echo$content.'<br/>';
$this->postcomment($content,$data);
sleep(3);
}
}
}
privatefunctionpostcomment($content,$data){
$postdata="content={$content}&{$data}&t1_source=1&feedcenter_pn=1&flag=1&type=all&channel=0&back=false&offset=0&ic=false&dl=null&to_tweet=0&submit=%E8%AF%84%E8%AE%BA";
$this->fetch("http://blog30.z.qq.com/mood/mood_reply.jsp?sid={$this->sid}&g_ut=2",$postdata);
}
}
functiontalk($content){
global$con;
if($con)return$con;
$content=str_replace('','',$content);
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,'http://www.simsimi.com/talk.htm');
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HEADER,1);
curl_setopt($ch,CURLOPT_NOBODY,false);
$rs=curl_exec($ch);
preg_match_all('/Set-Cookie:(.+)=(.+)$/m',$rs,$regs);
foreach($regs[1]as$i=>$k);
$cc=str_replace('Path','',$k);
$cc='simsimi_uid=507454034223;'.$cc;
$re=HTTPClient('http://www.simsimi.com/func/reqN?lc=ch&ft=1.0&req='.$content.'&fl=http%3A%2F%2Fwww.simsimi.com%2Ftalk.htm',$cc);
$re=json_decode($re,true);
return$re['sentence_resp'];
}
functionHTTPClient($url,$cookie){
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_COOKIE,$cookie);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_TIMEOUT,30);
$re=curl_exec($ch);
curl_close($ch);
return$re;
}
?>
希望本文所述对大家PHP程序设计有所帮助。