Heim >Backend-Entwicklung >PHP-Tutorial >PHP ruft die automatische Antwortschnittstelle basierend auf Curl auf

PHP ruft die automatische Antwortschnittstelle basierend auf Curl auf

墨辰丷
墨辰丷Original
2018-06-05 17:37:481675Durchsuche

Dieser Artikel stellt hauptsächlich PHP vor, um die automatische Antwortschnittstelle basierend auf Curl aufzurufen. Ich hoffe, dass er für alle hilfreich ist.

Der Code lautet wie folgt:

<?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; 
} 
?>

Zusammenfassung: Das Obige ist das Ganze Ich hoffe, dass der Inhalt dieses Artikels für das Studium aller hilfreich sein kann.

Verwandte Empfehlungen:

PHP-Paging-Prinzip, Paging-Code, Paging-Klassen-Produktionsmethode, detailliertes Beispiel

Beispiel für die gemeinsame Nutzung von Methoden zum Erhalten des WeChat-Zugriffstokens durch geplante PHP-Aufgaben

PHP-Implementierung von Lösungen zum Erhalten der echten IP-Adresse von Benutzerclients

Das obige ist der detaillierte Inhalt vonPHP ruft die automatische Antwortschnittstelle basierend auf Curl auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn