This article mainly introduces PHP to call the automatic reply interface based on curl. Interested friends can refer to it. I hope it will be helpful to everyone.
The code is as follows:
<?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; } ?>
Summary: The above is the entire content of this article , I hope it can be helpful to everyone’s study.
Related recommendations:
php paging principle paging code paging class production method example detailed explanation
PHP scheduled task to obtain the WeChat access_token method example sharing
PHP implementation of the solution to obtain the real IP of the user client
The above is the detailed content of PHP calls the automatic reply interface based on curl. For more information, please follow other related articles on the PHP Chinese website!