Heim  >  Artikel  >  Backend-Entwicklung  >  Die Definition und Verwendung der Curl-Kapselungsklasse in PHP

Die Definition und Verwendung der Curl-Kapselungsklasse in PHP

墨辰丷
墨辰丷Original
2018-06-07 11:27:002674Durchsuche

Dieser Artikel stellt hauptsächlich die Definition und Verwendung der Curl-Kapselungsklasse in PHP vor. Ich hoffe, dass er für alle hilfreich ist.

Die Details lauten wie folgt:

<?php
//curl类
class Curl
{
 function Curl(){
  return true;
 }
 function execute($method, $url, $fields=&#39;&#39;, $userAgent=&#39;&#39;, $httpHeaders=&#39;&#39;, $username=&#39;&#39;, $password=&#39;&#39;){
  $ch = Curl::create();
  if(false === $ch){
   return false;
  }
  if(is_string($url) && strlen($url)){
   $ret = curl_setopt($ch, CURLOPT_URL, $url);
  }else{
   return false;
  }
  //是否显示头部信息
  curl_setopt($ch, CURLOPT_HEADER, false);
  //
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  if($username != &#39;&#39;){
   curl_setopt($ch, CURLOPT_USERPWD, $username . &#39;:&#39; . $password);
  }
  $method = strtolower($method);
  if(&#39;post&#39; == $method){
   curl_setopt($ch, CURLOPT_POST, true);
   if(is_array($fields)){
    $sets = array();
    foreach ($fields AS $key => $val){
     $sets[] = $key . &#39;=&#39; . urlencode($val);
    }
    $fields = implode(&#39;&&#39;,$sets);
   }
   curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
  }else if(&#39;put&#39; == $method){
   curl_setopt($ch, CURLOPT_PUT, true);
  }
  //curl_setopt($ch, CURLOPT_PROGRESS, true);
  //curl_setopt($ch, CURLOPT_VERBOSE, true);
  //curl_setopt($ch, CURLOPT_MUTE, false);
  curl_setopt($ch, CURLOPT_TIMEOUT, 10);//设置curl超时秒数
  if(strlen($userAgent)){
   curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
  }
  if(is_array($httpHeaders)){
   curl_setopt($ch, CURLOPT_HTTPHEADER, $httpHeaders);
  }
  $ret = curl_exec($ch);
  if(curl_errno($ch)){
   curl_close($ch);
   return array(curl_error($ch), curl_errno($ch));
  }else{
   curl_close($ch);
   if(!is_string($ret) || !strlen($ret)){
    return false;
   }
   return $ret;
  }
 }
 function post($url, $fields, $userAgent = &#39;&#39;, $httpHeaders = &#39;&#39;, $username = &#39;&#39;, $password = &#39;&#39;){
  $ret = Curl::execute(&#39;POST&#39;, $url, $fields, $userAgent, $httpHeaders, $username, $password);
  if(false === $ret){
   return false;
  }
  if(is_array($ret)){
   return false;
  }
  return $ret;
 }
 function get($url, $userAgent = &#39;&#39;, $httpHeaders = &#39;&#39;, $username = &#39;&#39;, $password = &#39;&#39;){
  $ret = Curl::execute(&#39;GET&#39;, $url, &#39;&#39;, $userAgent, $httpHeaders, $username, $password);
  if(false === $ret){
   return false;
  }
  if(is_array($ret)){
   return false;
  }
  return $ret;
 }
 function create(){
  $ch = null;
  if(!function_exists(&#39;curl_init&#39;)){
   return false;
  }
  $ch = curl_init();
  if(!is_resource($ch)){
   return false;
  }
  return $ch;
 }
}
?>

GET-Nutzung:

$curl = new Curl();
$curl->get(&#39;http://www.XXX.com/&#39;);

POST-Nutzung:

$curl = new Curl();
$curl->get(&#39;http://www.XXX.com/&#39;, &#39;p=1&time=0&#39;);

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.

Verwandte Empfehlungen:

Detaillierte Erklärung zur Verwendung der mysql_result()-Funktion in PHP

php serialize() und Der Unterschied zwischen unserialize()

Das Konzept und die Verwendung der PHP-Callback-Funktion

Das obige ist der detaillierte Inhalt vonDie Definition und Verwendung der Curl-Kapselungsklasse in PHP. 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