首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的网站需要很长时间才能从API加载数据

我的网站需要很长时间才能从API加载数据
EN

Stack Overflow用户
提问于 2014-03-19 18:47:32
回答 1查看 898关注 0票数 1

这是我第一次开发API,这就是为什么我不惊讶它运行得有点慢,需要2-4秒才能加载(我在我的网页上使用了一个微时间计时器)。但是后来我发现执行API命令需要多长时间,大约是0.002秒。那么,为什么当我在PHP中使用CURL时,还要花2秒才能加载呢?

我的API连接代码:

代码语言:javascript
复制
function APIPost($DataToSend){
    $APILink = curl_init();
    curl_setopt($APILink,CURLOPT_URL, "http://api.subjectplanner.co.uk");
    curl_setopt($APILink,CURLOPT_POST, 4);
    curl_setopt($APILink,CURLOPT_POSTFIELDS, $DataToSend);
    curl_setopt($APILink, CURLOPT_HEADER, 0);
    curl_setopt($APILink, CURLOPT_RETURNTRANSFER, 1);
    return curl_exec($APILink);
    curl_close($APILink);
}

如何在网页中检索数据:

代码语言:javascript
复制
$APIData=array(
    'com'=>'todayslessons',
    'json'=>'true',
    'sid'=>$_COOKIE['SID']
);
$APIResult = json_decode(APIPost($APIData), true);
if($APIResult['functionerror']==0){
    $Lessons['Error']=false;
    $Lessons['Data']=json_decode($APIResult['data'], true);
}else{
    $Lessons['Error']=true;
    $Lessons['ErrorDetails']="An error has occured.";
}

APIPost函数在一个functions.php文件中,该文件包含在我的页面请求时。从请求第二段代码到结束所用的时间大约是2.0126秒。获取API数据的最佳方式是什么?

EN

回答 1

Stack Overflow用户

发布于 2014-03-19 19:07:52

这只是一个猜测,所以请不要责备我。但可能是等待curl完成,也就是超时,因为你在返回之前没有关闭curl。

尝试这个小小的修改,看看它是否有帮助:

代码语言:javascript
复制
function APIPost($DataToSend){
    $APILink = curl_init();
    curl_setopt($APILink,CURLOPT_URL, "http://api.subjectplanner.co.uk");
    curl_setopt($APILink,CURLOPT_POST, 4);
    curl_setopt($APILink,CURLOPT_POSTFIELDS, $DataToSend);
    curl_setopt($APILink, CURLOPT_HEADER, 0);
    curl_setopt($APILink, CURLOPT_RETURNTRANSFER, 1);
    $ret curl_exec($APILink);
    curl_close($APILink);
    return $ret;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22503339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档