首页 > 开发 > PHP > 正文

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

2024-05-04 23:40:42
字体:
来源:转载
供稿:网友
这篇文章主要介绍了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.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>:(.*?)<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程序设计有所帮助。



注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表