qq空间留言板删除 php,PHP实现QQ空间自动回复说说的方法

本文实例讲述了PHP实现QQ空间自动回复说说的方法。分享给大家供大家参考,具体如下:

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('/:(.*?)评论\(\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('/]+>/', '', $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%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程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值