PHP实现QQ空间自动回复说说的方法
发布:smiling 来源: PHP粉丝网 添加日期:2021-06-27 17:18:09 浏览: 评论:0
这篇文章主要介绍了PHP实现QQ空间自动回复说说的方法,涉及php基于curl调用自动回复接口的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下。
本文实例讲述了PHP实现QQ空间自动回复说说的方法,分享给大家供大家参考,具体如下:
- <?php
 - header("Content-type: text/html; charset=utf-8");
 - $qq = '';//QQ号
 - $sid = '';//填写sid的值
 - $con = '';//自定义内容,留空则使用simsimi
 - $qzone = new qzone($qq,$sid);
 - class qzone{
 - private $sid ='';
 - public function __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);
 - }
 - private function fetch($url,$postdata=null){
 - $ch = curl_init();//www.phpfensi.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>:(.*?)<span class="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);
 - }
 - }
 - }
 - 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%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, 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程序设计有所帮助。
Tags: PHP自动回复
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
 - PHP新手上路(一)(7)
 - 惹恼程序员的十件事(5)
 - PHP邮件发送例子,已测试成功(5)
 - 致初学者:PHP比ASP优秀的七个理由(4)
 - PHP会被淘汰吗?(4)
 - PHP新手上路(四)(4)
 - 如何去学习PHP?(2)
 - 简单入门级php分页代码(2)
 - php中邮箱email 电话等格式的验证(2)
 
