PHP calls the automatic reply interface based on curl

墨辰丷
Release: 2023-03-29 21:26:02
Original
1585 people have browsed it

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 = &#39;&#39;;//QQ号 
$sid = &#39;&#39;;//填写sid的值 
$con = &#39;&#39;;//自定义内容,留空则使用simsimi 
$qzone = new qzone($qq,$sid); 
class qzone{ 
  private $sid =&#39;&#39;; 
  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(&#39;/<\/a>:(.*?)评论\(\d\)<\/a>/&#39;,$html,$match); 
    foreach($match[0] as $k){ 
      if(strstr($k,&#39;评论(0)&#39;)){ 
        $k = str_replace(PHP_EOL, &#39;&#39;, $k); 
        $k = str_replace(&#39;
&#39;, &#39;&#39;, $k); 
        $k = html_entity_decode($k); 
        preg_match(&#39;/<\/a>:(.*?)<span class="txt-fade">/&#39;,$k,$content);//www.oicqzone.com 
        preg_match(&#39;/myfeed_mood.jsp\?sid=.*&B_(.*?)&t1_source/&#39;,$k,$data); 
        $content = preg_replace(&#39;/<img[^>]+>/&#39;, &#39;&#39;, $content[1]); 
        echo &#39;找到一条说说:&#39;.$content.&#39; 机器人的回复是:&#39;; 
        $data = &#39;B_&#39;.$data[1]; 
        $content = talk($content); 
        echo $content.&#39;<br />&#39;; 
        $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(&#39; &#39;, &#39;&#39;, $content); 
    $ch = curl_init(); 
  curl_setopt($ch,CURLOPT_URL,&#39;http://www.simsimi.com/talk.htm&#39;); 
  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(&#39;/Set-Cookie: (.+)=(.+)$/m&#39;, $rs, $regs); 
  foreach($regs[1] as $i=>$k); 
  $cc=str_replace(&#39; Path&#39;,&#39;&#39; ,$k); 
  $cc=&#39;simsimi_uid=507454034223;&#39;.$cc; 
  $re = HTTPClient(&#39;http://www.simsimi.com/func/reqN?lc=ch&ft=1.0&req=&#39;.$content.&#39;&fl=http%3A%2F%2Fwww.simsimi.com%2Ftalk.htm&#39;,$cc); 
  $re = json_decode($re,true); 
  return $re[&#39;sentence_resp&#39;]; 
} 
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; 
} 
?>
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!