本文实例讲述了php curl操作api接口类。分享给大家供大家参考,具体如下:
<?phpnamespace curl;/** * created by phpstorm. * ur: administrator * date: 2017/6/16 * time: 9:54 */class apiclient{//请求的token const token='token_str'; //请求url private $url; //请求的类型 private $requesttype; //请求的数据 private $data; //curl实例 private $curl; public $status; private $headers = array(); /** * [__construct 构造方法, 初始化数据] * @param [type] $url 请求的服务器地址 * @param [type] $requesttype 发送请求的方法 * @param [type] $data 发送的数据 * @param integer $url_model 路由请求方式 */ public function __construct($url, $data = array(), $requesttype = 'get') { //url是必须要传的,并且是符合pathinfo模式的路径 if (!$url) { return fal; } $this->requesttype = strtolower($requesttype); $paramurl = ''; // pathinfo模式 if (!empty($data)) { foreach ($data as $key => $value) { $paramurl.= $key . '=' . $value.'&'; } $url = $url .'?'. $paramurl; } //初始化类中的数据 $this->url = $url; $this->data = $data; try{ if(!$this->curl = curl_init()){ throw new exception('curl初始化错误:'); }; }catch (exception $e){ echo '<pre>'; print_r($e->getmessage()); echo '</pre>'; } curl_topt($this->curl, curlopt_url, $this->url); curl_topt($this->curl, curlopt_retu学院代码rntransfer, 1); //curl_topt($this->curl, curlopt_header, 1); } /** * [_post 设置get请求的参数] * @return [type] [description] */ public function _get() { } /** * [_post 设置post请求的参数] * post 新增资源 * @return [type] [description] */ public function _post() { curl_topt($this->curl, curlopt_post, 1); curl_topt($this->curl, curlopt_postfields, $this->data); } /** * [_put 设置put请求] * put 更新资源 * @return [type] [description] */ public function _put() { curl_topt($this->curl, curlopt_customrequest, 'put'); } /** * [_delete 删除资源] * delete 删除资源 * @return [type] [descriptio水浒传第七回n] */ public function _delet大专升本科怎么升e() { curl_top高考生t($this->curl, curlopt_customrequest, 'delete'); } /** * [dorequest 执行发送请求] * @return [type] [description] */ public function dorequest() { //发送给服务端验证信息 if((null !== lf::token) && lf::token){ $this->headers = array( 'client-token:'.lf::token,//此处不能用下划线 'client-code:'.$this->tauthorization() ); } //发送头部信息 $this->theader(); //发送请求方式 switch ($this->requesttype) { ca 'post': $this->_post(); br导员eak; ca 'put': $this->_put(); break; ca 'delete': $this->_delete(); break; default: curl_topt($this->curl, curlopt_httpget, true); break; } //执行curl请求 $info = curl_exec($this->curl); //获取curl执行状态信息 $this->status = $this->getinfo(); return json_decode($info); } /** * 设置发送的头部信息 */ private function theader(){ curl_topt($this->curl, curlopt_httpheader, $this->headers); } /** * 生成授权码 * @return string 授权码 */ private function tauthorization(){ $authorization = md5(substr(md5(lf::token), 8, 24).lf::token); return $authorization; } /** * 获取curl中的状态信息 */ public function getinfo(){ return curl_getinfo($this->curl); } /** * 关闭curl连接 */ public function __destruct(){ curl_clo($this->curl); }}
更多关于php相关内容感兴趣的读者可查看本站专题:《php curl用法总结》、《php网络编程技巧总结》、《php数组(array)操作技巧大全》、《php字符串(string)用法总结》、《php数据结构与算法教程》及《php中json格式数据操作技巧汇总》
希望本文所述对大家php程序设计有所帮助。
本文发布于:2023-04-07 08:41:11,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/2472a964138a918a454307e6e7556498.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:php curl操作API接口类完整示例.doc
本文 PDF 下载地址:php curl操作API接口类完整示例.pdf
留言与评论(共有 0 条评论) |