phpcurl缺点(PHP封装cURL工具类与应用示例)
类别:编程学习 浏览量:1272
时间:2022-01-21 00:17:21 phpcurl缺点
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程序设计有所帮助。
原文链接:https://blog.csdn.net/baochao95/article/details/55105748
您可能感兴趣
- php错误处理及调试(php报错502 bad gateway解决方法)
- php如何复制数组(php5对象复制、clone、浅复制与深复制实例详解)
- php命名对照表(PHP命名空间用法实例分析)
- thinkphp继承model如何使用(Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解)
- apachephp安装配置教程交流(Apache中利用mod_rewrite实现防盗链)
- phpstudy详细教程学习(phpstudy的php版本自由修改的方法)
- docker下怎么搭建一个php环境(Docker搭建php环境教程详解)
- thinkphp5怎么设置默认返回(thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结)
- php防sql注入(万能密码的SQL注入漏洞其PHP环境搭建及防御手段)
- php框架使用方法大全(PHP MVC框架中类的自动加载机制实例分析)
- phpredis使用场景(php和redis实现秒杀活动的流程)
- php私有函数怎么调(php intval函数用法总结)
- php获取socket连接的详细信息(php使用socket调用http和smtp协议实例小结)
- php如何继承多个类(PHP面向对象程序设计子类扩展父类子类重新载入父类操作详解)
- php怎么设置统计代码(php简单计算权重的方法示例适合抽奖类应用)
- thinkphp5.1 执行流程(Thinkphp5.0 框架的请求方式与响应方式分析)
- 华为 联想等46家公司笔试面试题,涉及各行各业,建议收藏(联想等46家公司笔试面试题)
- ()
- ()
- 800壮士拼死拖住30万日军 八佰 的真实历史,誓与阵地共存亡(800壮士拼死拖住30万日军)
- 演员陈创,火于 哮天犬 ,颠峰于 福贵 ,现状却令人唏嘘(演员陈创火于哮天犬)
- 幼小衔接-20以内看图读数 写数 数的组成练习题(幼小衔接-20以内看图读数)
热门推荐
- centos7宝塔面板离线安装(linux centos 宝塔面板和安全狗安装过程记录)
- css 图片边缘虚化(CSS3对图片照片进行边缘模糊处理的实现)
- dedecms后台关键词(DedeCms防止垃圾文章群发、垃圾评论和注册的方法)
- python的遍历循环(对python For 循环的三种遍历方式解析)
- yii2 在控制器中验证请求参数的使用方法(yii2 在控制器中验证请求参数的使用方法)
- vue组件开发步骤(解析如何自动化生成vue组件文档)
- web开发如何正确使用docker(Docker部署web项目的实现)
- mysql的uuid说明(MySQL GTID全面总结)
- tomcat集群如何实现线程安全(如何通过LambdaProbe实现监控Tomcat)
- sql server中使用xp_readerrorlog查看错误日志
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9