>  기사  >  php教程  >  PHP实现QQ空间自动回复说说的方法

PHP实现QQ空间自动回复说说的方法

WBOY
WBOY원래의
2016-06-06 19:36:281548검색

这篇文章主要介绍了PHP实现QQ空间自动回复说说的方法,涉及php基于curl调用自动回复接口的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

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('/:(.*?)评论\(\d\)/',$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('/:(.*?)/',$k,$content);//www.oicqzone.com preg_match('/myfeed_mood.jsp\?sid=.*&B_(.*?)&t1_source/',$k,$data); $content = preg_replace('/PHP实现QQ空间自动回复说说的方法]+>/', '', $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,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%2F%2Ftalk.htm',$cc); $re = json_decode($re,true); return $re['sentence_resp']; } function HTTPClient($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; } ?>

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.