curl 封装类 php,PHP Curl 类的封装工具

网上找的phpcurl请求类的封装,稍微改动了一下

/**

* User: 郭玉朝

* CreateTime: 2018/10/23 下午11:00

* Description:

*/

namespace tool;

class MyCurl {

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);//设置响应头信息是否返回

}

/**

* User: yuzhao

* CreateTime: 2018/10/23 下午11:22

* @param $url

* Description: 返回当前对象

*/

public static function instance($url,$responseHeader = 0) {

return new MyCurl($url,$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);

}

}

示例代码

$qqUserInfo = MyCurl::instance(url)->get();

print_r($qqUserInfo);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值