php 自己封装一个调用第三方接口的函数

①在php.ini中开启php_curl扩展(必须开启)

②建议在php.ini中开启php_openssl扩展(本身不是curl必须的,是调用一些第三方接口需要的

③如果以上操作重启apache后,curl还是不能使用,需要将php安装目录设置到环境变量。

//封装 调用外部接口信息函数
if(!function_exists('curl_reuqest')){
    function curl_reuqest($url,$type=false,$params=[],$https=false){
        // 初始化请求
        $ch = curl_init($url);
        // 判断发送什么请求,默认get请求
        if($type){
            // 设置请求方式
            curl_setopt($ch,CURLOPT_POST ,true);
            // 设置请求参数
            curl_setopt($ch,CURLOPT_POSTFIELDS,$params);
        }
        // 如果是https请求,设置禁止从服务器验证本地证书
        if($https){
            curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
        }
        // 发送请求设置以文件流形式返回
        curl_setopt($ch,CURLOPT_RETURNTRANSFER ,true);
        $res = curl_exec($ch);
        // 调试运行时错误信息,调试完删除
        if(!$res){
            // 错误信息
            $error = curl_error($ch);
            // 错误码
            $error = curl_errno($ch);
        }
        // 关闭请求
        curl_close($ch);
        // 返回请求内容
        return $res;
    }

测试代码

 <div>
            {foreach $list as $rows}
           快递实时跟踪时间: <span>{$rows['datetime']}</span></br>
           地址:<input type="text" name="" id="" value="{$rows['remark']}"><br>
            {/foreach}
</div>
public function index(){
// url地址
$url = "http://v.juhe.cn/exp/index?key=e82ce96ccb085c23faf007a887c8abfc&com=yt&no=806827436235013721";
// 请求方式 get
// 发送请求
$res = curl_reuqest($url);
// 对结果进行处理
if(!$res){
echo '请求错误';exit;
}
 
// 解析返回的数据 json格式的字符串
$arr = json_decode($res,true);
if($arr['resultcode'] != 200){
echo $arr['reason'];die;
echo '查询失败';die;
}
// 取出有用的字段
$list = $arr['result']['list'];
// 渲染页面
return view('index',['list'=>$list]);
}

 

测试结果


快递实时跟踪时间: 2019-07-09 21:14:57
地址:
快递实时跟踪时间: 2019-07-09 22:09:10
地址:
快递实时跟踪时间: 2019-07-10 02:17:02
地址:
快递实时跟踪时间: 2019-07-10 03:25:52
地址:
快递实时跟踪时间: 2019-07-11 15:12:29
地址:
posted @ 2019-07-11 21:21  凡斗  阅读(2176)  评论(0编辑  收藏  举报