加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php实现的Curl封装类Curl.class.php用法实例分析

发布时间:2020-12-13 02:51:37 所属栏目:PHP教程 来源:网络整理
导读:《PHP实例:php实现的Curl封装类Curl.class.php用法实例分析》要点: 本文介绍了PHP实例:php实现的Curl封装类Curl.class.php用法实例分析,希望对您有用。如果有疑问,可以联系我们。 PHP编程 本篇章节讲解php实现的Curl封装类Curl.class.php用法.分享给

《PHP实例:php实现的Curl封装类Curl.class.php用法实例分析》要点:
本文介绍了PHP实例:php实现的Curl封装类Curl.class.php用法实例分析,希望对您有用。如果有疑问,可以联系我们。

PHP编程本篇章节讲解php实现的Curl封装类Curl.class.php用法.分享给大家供大家参考.具体如下:

PHP编程
<?php
//curl类
class Curl
{
 function Curl(){
  return true;
 }
 function execute($method,$url,$fields='',$userAgent='',$httpHeaders='',$username='',$password=''){
  $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 != ''){
   curl_setopt($ch,CURLOPT_USERPWD,$username . ':' . $password);
  }
  $method = strtolower($method);
  if('post' == $method){
   curl_setopt($ch,CURLOPT_POST,true);
   if(is_array($fields)){
    $sets = array();
    foreach ($fields AS $key => $val){
     $sets[] = $key . '=' . urlencode($val);
    }
    $fields = implode('&',$sets);
   }
   curl_setopt($ch,CURLOPT_POSTFIELDS,$fields);
  }else if('put' == $method){
   curl_setopt($ch,CURLOPT_PUT,true);
  }
  //curl_setopt($ch,CURLOPT_PROGRESS,true);
  //curl_setopt($ch,CURLOPT_VERBOSE,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 = '',$httpHeaders = '',$username = '',$password = ''){
  $ret = Curl::execute('POST',$userAgent,$httpHeaders,$username,$password);
  if(false === $ret){
   return false;
  }
  if(is_array($ret)){
   return false;
  }
  return $ret;
 }
 function get($url,$password = ''){
  $ret = Curl::execute('GET','',$password);
  if(false === $ret){
   return false;
  }
  if(is_array($ret)){
   return false;
  }
  return $ret;
 }
 function create(){
  $ch = null;
  if(!function_exists('curl_init')){
   return false;
  }
  $ch = curl_init();
  if(!is_resource($ch)){
   return false;
  }
  return $ch;
 }
}
?>

PHP编程GET用法:

PHP编程
$curl = new Curl();
$curl->get('http://www.XXX.com/');

PHP编程POST用法:

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

PHP编程希望本文所述对大家的php程序设计有所赞助.

编程之家培训学院每天发布《PHP实例:php实现的Curl封装类Curl.class.php用法实例分析》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读