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

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

发布时间:2022-06-28 09:13:55 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了PHP封装cURL工具类与应用,结合实例形式分析了php基于面向对象封装的curl请求、响应、参数设置等相关操作技巧,需要的朋友可以参考下。 本文实例讲述了PHP封装cURL工具类,分享给大家供大家参考,具体如下: CurlUtils工具类: ?php /** *
  这篇文章主要介绍了PHP封装cURL工具类与应用,结合实例形式分析了php基于面向对象封装的curl请求、响应、参数设置等相关操作技巧,需要的朋友可以参考下。
 
  本文实例讲述了PHP封装cURL工具类,分享给大家供大家参考,具体如下:
 
  CurlUtils工具类:
 
  <?php
  /**
   * cURL请求工具类
   */
  class CurlUtils {
    private $ch;//curl资源对象
    /**
     * 构造方法
     * @param string $url 请求的地址
     * @param int $responseHeader 是否需要响应头信息
     */
    public function __construct($url,$responseHeader = 0){
      $this->ch = curl_init($url);
      curl_setopt($this->ch,CURLOPT_RETURNTRANSFER,1);//设置以文件流的形式返回
      curl_setopt($this->ch,CURLOPT_HEADER,$responseHeader);//设置响应头信息是否返回
    }
    /**
     * 析构方法
     */
    public function __destruct(){
      $this->close();
    }
    /**
     * 添加请求头
     * @param array $value 请求头
     */
    public function addHeader($value){
      curl_setopt($this->ch, CURLOPT_HTTPHEADER, $value);
    }
    /**
     * 发送请求
     * @return string 返回的数据
     */
    private function exec(){
      return curl_exec($this->ch);
    }
    /**
     * 发送get请求
     * @return string 请求返回的数据
     */
    public function get(){
      return $this->exec();
    }
    /**
     * 发送post请求
     * @param arr/string $value 准备发送post的数据
     * @param boolean $https 是否为https请求
     * @return string    请求返回的数据
     */
    public function post($value,$https=true){
      if($https){
        curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($this->ch, CURLOPT_SSL_VERIFYHOST, FALSE);
      }
      curl_setopt($this->ch,CURLOPT_POST,1);//设置post请求
      curl_setopt($this->ch,CURLOPT_POSTFIELDS,$value);
      return $this->exec();
    }
    /**
     * 关闭curl句柄
     */
    private function close(){
      curl_close($this->ch);
    }
  }
  调用实例:
 
  face++的人脸识别接口
 
  $curl = new CurlUtils("https://api-cn.faceplusplus.com/facepp/v3/detect");//创建curl对象
  $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的值
  echo $curl->post($value);//发送请求.
 

(编辑:PHP编程网 - 钦州站长网)

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