服务端与服务端之间,也存在接口编程。
比如我们网站服务端,需要发送短信、发送邮件、查询快递等,都需要调用第三方平台的接口。
1、php中发送请求
①file_get_contents函数 :传递完整的url参数 通常是get请求,有返回值(地址中的输出)
②curl请求方式(PHP的curl函数库):php中比较规范的一种发送请求方式。
2、CURL函数库
Curl函数库的使用流程:
①使用curl_init初始化请求会话
②使用curl_setopt设置请求一些选项
③使用curl_exec执行,发送请求
④使用curl_close关闭请求会话
②建议在php.ini中开启php_openssl扩展(本身不是curl必须的,是调用一些第三方接口需要的)
③如果以上操作重启apache后,curl还是不能使用,需要将php安装目录设置到环境变量。
代码封装:
if(!function_exists('curl_request')){ //发送curl请求 function curl_request($url, $type = false, $params = [], $https=false) { //调用curl_init() 初始化请求 $ch = curl_init($url); //调用curl_setopt()设置请求选项 if($type){ //true 发送post请求 false 默认发送get请求 //post请求 设置请求方式 curl_setopt($ch, CURLOPT_POST, true); //设置请求参数 curl_setopt($ch, CURLOPT_POSTFIELDS, $params); } //如果是https请求 需要禁止从服务器端验证本地的证书 if($https){ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); } //调用curl_exec() 发送请求 获取结果 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $res = curl_exec($ch); // if(!$res){ // //错误信息 // $error = curl_error($ch); // //错误码 // $errno = curl_errno($ch); // } //调用curl_close() 关闭请求 curl_close($ch); return $res; } }