加入收藏 | 设为首页 | 会员中心 | 我要投稿 黄山站长网 (https://www.0559zz.com.cn/)- 迁移、建站、智能边缘、云容器引擎、数据快递!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2022-07-16 10:56:16 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了PHP实现QQ空间自动回复说说的方法,涉及php基于curl调用自动回复接口的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下。 本文实例讲述了PHP实现QQ空间自动回复说说的方法,分享给大家供大家参考,具体如下: ?php header(Content-typ
  这篇文章主要介绍了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程序设计有所帮助。
 
 

(编辑:黄山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读