本篇是关于微擎开发的接口编写,在做接口的工作中可能会遇到一个服务器调用另一个服务器的相关数据的情况,其中调用的链接在另一个服务器未登入情况下访问会得不到反应请求。自称业余界编程扛把子的我为大家稍作解释,如有问题敬请大家批评。
请求页面控制器:
$do = !empty($_GPC['do']) ? $_GPC['do'] : 'display';
if($do=='list'){
$url = "http://v.oooo.com/web/test.php?do=detail";
$result = https_request($url);
//此处结果需要将json格式转化为数组格式
$result=json_decode($result,true);
// var_dump($result);exit;
include $this->template ('activity/veg_list_specil');
}
//此函数是封装好的获取相应链接的返回值,可直接使用
function https_request($url, $data = null){
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
if (!empty($data)){
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}
//此函数是回复请求的函数,两个可不在同一个服务器
//需要引入下面文件
define('IN_SYS', true);
require '../framework/bootstrap.inc.php';
require IA_ROOT . '/web/common/bootstrap.sys.inc.php';
load()->web('common');
load()->web('template');
defined('IN_IA') or exit('Access Denied');
$do = !empty($_GPC['do']) ? $_GPC['do'] : 'display';
//在本函数中获取想要的数据各种操作,其中要把本函数放到登入外层(防止本后台没有登入而不能回复请求)
if($do=='detail'){
$result=#######;
//必须使用json格式传数据
$result = json_encode($result);
echo $result;
}
领取专属 10元无门槛券
私享最新 技术干货