加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 02:58:11 所属栏目:PHP教程 来源:网络整理
导读:《PHP实现QQ空间自动回复说说的方法》要点: 本文介绍了PHP实现QQ空间自动回复说说的方法,希望对您有用。如果有疑问,可以联系我们。 本篇章节讲解PHP实现QQ空间自动回复说说的办法.供大家参考研究,具体如下: PHP教程 ?php header("Content-type:

《PHP实现QQ空间自动回复说说的方法》要点:
本文介绍了PHP实现QQ空间自动回复说说的方法,希望对您有用。如果有疑问,可以联系我们。

本篇章节讲解PHP实现QQ空间自动回复说说的办法.分享给大家供大家参考,具体如下:PHP教程

<?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/',$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,'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=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,$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程序设计有所赞助.PHP教程

《PHP实现QQ空间自动回复说说的方法》是否对您有启发,欢迎查看更多与《PHP实现QQ空间自动回复说说的方法》相关教程,学精学透。编程之家 52php.cn为您提供精彩教程。

(编辑:李大同)

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

    推荐文章
      热点阅读