本文实例讲述了PHP实现QQ空间自动回复说说的方法。分享给大家供大家参考,具体如下:
PHP;">
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);
}
private function fetch($url,$postdata=null){
$ch = curl_init();//www.oicqzone.com
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 820)");
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;
}
private function getsaying($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>:(.*?)Feed_mood.jsp\?sid=.*&B_(.*?)&t1_source/',$data);
$content = preg_replace('/]+>/',$content[1]);
echo '找到一条说说:'.$content.' 机器人的回复是:';
$data = 'B_'.$data[1];
$content = talk($content);
echo $content.'
'; $this->postcomment($content,$data); sleep(3); } } } private function postcomment($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); } } function talk($content){ global $con; if($con) return $con; $content = str_replace(' ',$content); $ch = curl_init(); curl_setopt($ch,'http://www.simsimi.com/talk.htm'); curl_setopt($ch,1); curl_setopt($ch,CURLOPT_HEADER,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=50745@R_301_449@4223;'.$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']; } function HTTPClient($url,$cookie){ $ch = curl_init(); curl_setopt($ch,$url); curl_setopt($ch,CURLOPT_COOKIE,$cookie); curl_setopt($ch,0); curl_setopt($ch,30); $re = curl_exec($ch); curl_close($ch); return $re; } ?>
'; $this->postcomment($content,$data); sleep(3); } } } private function postcomment($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); } } function talk($content){ global $con; if($con) return $con; $content = str_replace(' ',$content); $ch = curl_init(); curl_setopt($ch,'http://www.simsimi.com/talk.htm'); curl_setopt($ch,1); curl_setopt($ch,CURLOPT_HEADER,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=50745@R_301_449@4223;'.$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']; } function HTTPClient($url,$cookie){ $ch = curl_init(); curl_setopt($ch,$url); curl_setopt($ch,CURLOPT_COOKIE,$cookie); curl_setopt($ch,0); curl_setopt($ch,30); $re = curl_exec($ch); curl_close($ch); return $re; } ?>
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://www.f2er.com/php/20862.html