首页 > 语言 > PHP > 正文

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

2024-05-05 00:09:59
字体:
来源:转载
供稿:网友

本文实例讲述了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程序设计有所帮助。


注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选