鍍金池/ 問(wèn)答/PHP/ php 關(guān)于 curl 獲取數(shù)據(jù)的問(wèn)題,能否只獲取部分?jǐn)?shù)據(jù)提高 curl 的運(yùn)行

php 關(guān)于 curl 獲取數(shù)據(jù)的問(wèn)題,能否只獲取部分?jǐn)?shù)據(jù)提高 curl 的運(yùn)行時(shí)間?

在通過(guò) php 中的 curl 獲取數(shù)據(jù)的時(shí)候,獲取數(shù)據(jù)整體下來(lái)事件非常久(申請(qǐng) api 有 30 左右,耗時(shí)從 50-120 不等)。而且存在的一個(gè)問(wèn)題是,該數(shù)據(jù)我只需要獲取第一次后,后續(xù)我只需要它更新后的數(shù)據(jù),其它百分之九十九都是不需要的內(nèi)容。

$i = 0;            //    數(shù)據(jù)下標(biāo)
    foreach($array as $url){
        //    剔除不需要的內(nèi)容
        if(!in_array($i,array(0,1,2,11,12,23,28,29,34,36,37,38,40,41,42,43,44,45,46))){
            var_dump($i);
            $ch = curl_init ();
            curl_setopt($ch, CURLOPT_URL,$url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            $result = curl_exec($ch);
            var_dump($result);
            echo '<hr/>';
            var_dump(curl_error($ch));
        }
        $i++;
    }
回答
編輯回答
別逞強(qiáng)

你作為調(diào)用方,是不知道對(duì)方接口有哪些數(shù)據(jù)有變更的,若要做到只拿更新的數(shù)據(jù),可以提供一個(gè)思路:
接口提供方再提供一個(gè)接口,返回有變更的id列表給到你,之后接收方只根據(jù)最新的list進(jìn)行獲取

2017年4月19日 04:41