当前位置:首页 > PHP教程 > php应用 > 列表

PHP封装cURL工具类与应用示例

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-29 10:41:14 浏览: 评论:0 

这篇文章主要介绍了PHP封装cURL工具类与应用,结合实例形式分析了php基于面向对象封装的curl请求、响应、参数设置等相关操作技巧,需要的朋友可以参考下。

本文实例讲述了PHP封装cURL工具类,分享给大家供大家参考,具体如下:

CurlUtils工具类:

  1. <?php 
  2. /** 
  3.  * cURL请求工具类 
  4.  */ 
  5. class CurlUtils { 
  6.   private $ch;//curl资源对象 
  7.   /** 
  8.    * 构造方法 
  9.    * @param string $url 请求的地址 
  10.    * @param int $responseHeader 是否需要响应头信息 
  11.    */ 
  12.   public function __construct($url,$responseHeader = 0){ 
  13.     $this->ch = curl_init($url); 
  14.     curl_setopt($this->ch,CURLOPT_RETURNTRANSFER,1);//设置以文件流的形式返回 
  15.     curl_setopt($this->ch,CURLOPT_HEADER,$responseHeader);//设置响应头信息是否返回 
  16.   } 
  17.   /** 
  18.    * 析构方法 
  19.    */ 
  20.   public function __destruct(){ 
  21.     $this->close(); 
  22.   } 
  23.   /** 
  24.    * 添加请求头 
  25.    * @param array $value 请求头 
  26.    */ 
  27.   public function addHeader($value){ 
  28.     curl_setopt($this->ch, CURLOPT_HTTPHEADER, $value); 
  29.   } 
  30.   /** 
  31.    * 发送请求 
  32.    * @return string 返回的数据 
  33.    */ 
  34.   private function exec(){ 
  35.     return curl_exec($this->ch); 
  36.   } 
  37.   /** 
  38.    * 发送get请求 
  39.    * @return string 请求返回的数据 
  40.    */ 
  41.   public function get(){ 
  42.     return $this->exec(); 
  43.   } 
  44.   /** 
  45.    * 发送post请求 
  46.    * @param arr/string $value 准备发送post的数据 
  47.    * @param boolean $https 是否为https请求 
  48.    * @return string    请求返回的数据 
  49.    */ 
  50.   public function post($value,$https=true){ 
  51.     if($https){ 
  52.       curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
  53.       curl_setopt($this->ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
  54.     } 
  55.     curl_setopt($this->ch,CURLOPT_POST,1);//设置post请求 
  56.     curl_setopt($this->ch,CURLOPT_POSTFIELDS,$value); 
  57.     return $this->exec(); 
  58.   } 
  59.   /** 
  60.    * 关闭curl句柄 
  61.    */ 
  62.   private function close(){ 
  63.     curl_close($this->ch); 
  64.   } 

调用实例:

face++的人脸识别接口

  1. $curl = new CurlUtils("https://api-cn.faceplusplus.com/facepp/v3/detect");//创建curl对象 
  2. $value = ['api_key'=>'4Y7GS2sAPGEl-BtQlNw5Iqtq5jGOn87z','api_secret'=>'oQnwwJhS2mcm4vflKvgm972up9sLN8zj','image_url'=>'http://avatar.csdn.net/9/7/5/1_baochao95.jpg','return_attributes'=>'gender,age,glass'];//准备post的值 
  3. echo $curl->post($value);//发送请求

Tags: PHP封装cURL

分享到: