繁体   English   中英

致电 OCI API REST - 返回标题和正文 - 分页问题

[英]Make call on OCI API REST - Returning headers and body - pagination problem

我们有以下代码:

$curlbat = curl_init();

$url = 'https://'.$hostsp.$rest_apispins;
$method = 'GET';
$body = '';

$headers = $signer->getHeaders($url, $method, $body, 'application/json');

$curlbatOptions = [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 50,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => $method,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_HEADER => true,
    CURLOPT_NOBODY => false,
    //CURLOPT_HEADERFUNCTION => true,
];
curl_setopt_array($curlbat, $curlbatOptions);
$responsepage = curl_exec($curlbat);
echo $responsepage;

$usersbvolat = json_decode($responsepage,true);
$headers1 = [];
$output = rtrim($responsepage);
$data = explode("\n",$output);
$headers1['status'] = $data[0];
array_shift($data);
foreach($data as $part){
    //some headers will contain ":" character (Location for example), and the part after ":" will be lost, Thanks to @Emanuele
    $middle = explode(":",$part,2);
    //Supress warning message if $middle[1] does not exist, Thanks to @crayons
    if ( !isset($middle[1]) ) { $middle[1] = null; }
    $headers1[trim($middle[0])] = trim($middle[1]);
}
$opc = ($headers1["opc-next-page"]);

使用此代码,我可以获得 curl 结果下一页的 de hash,因为 OCI 结果只有 99 条记录,而我有更多记录。

但是使用此代码,我将返回我需要的 Header 值和 json 正文结果。 但是对于 header 值,我不能使用 json 主体。 I want to output only the json body, not the header, but i need the header to know if i have more results or not to fetch.

一页打印出来的结果是:

HTTP/1.1 200 OK Date: Fri, 26 Nov 2021 19:05:02 GMT opc-request-id: /363AEB99C35E0818D07EA0E81CE0A31C/32F4BD0CB0AC00E76F448F0B9629559C Content-Type: application/json opc-next-page: AFTXELJRM5ZC2MIAAACEIQKBIFAUCQKBIFAUCSTMMVKXA6KZKZSFEYKVHFYFGWDIJ5SWY2ZQKNLWYM3BKZYFQTSXOBFGC3JZOBKVMUSKJVKTK4S2IVJFKVJQNR5FGVZRI5RTC4BVKNKFUSTCKZFHOWJSNRFU6UZUOVNFI3CFJYZDC3S2LBDDEVKXGVBWIR2SPFKFGNBTJ5LE4QS2IVHHKZDNNRHGK3LEPFRG2TSIJZKTKV2VGFITIZDOJJQU4RLLGVKFISSCKNEGYUCSKZGTCYTLGVMFURSGOBNGWMDXMRDVETTFJBNEGYRRNBBFKR3MPFSGWTRTK5CVMQ3BGFHG4V2INBDVCVKVGVHFKOKRMFDFU6COI42TIWSIKZFWCVLPO5LUQSSEMJEEEYLENUYUMVSUNRGVC6SCJBLDGQRRJZCVMTCWNUYVSYTKLJXVS3KGO5KW4RSLMNVVURCSLBRXST2YOBFGGMBRMZQWW4DBLJLXQ5TBKVJEUVSGHFVE4VK2NVGUQUSFKYYWQ5SWI5ZXSWTNLJBE4R22I5NHUTSLMEYUUM2RGJ2FSTRQORLFEQZRGBSUQRSXK5CGQSC2KZBHAT2VMRIFUVTIKZKVQRSLLJDTS22ZGJFHSVSHGVEVKV22GZJUOTSSJZKW6MSXNRHFKZKXOBLVIV2SGBQWUUSYK5DU4YKWKZSGWVSUJJLVMMCFPJKG2OJTKVLFUS3BJBWGWULKMRUE26JQGBRVM3DZKZXEMSKNK54GSURQM55GGMDYGBHDGQSSJZVXAZS2K5NESTSEJJ5FK23IGVKUKUS2LFWU4VKVIVH HIUTKJZUVKRTEI5RVM3DKMVVTC5DBNVHDGVDMM42VSMTMKFKTCUTNMFWVUTSRGAYU2USHMRXU223UN5SDESSNK5XEEU2YGFLESTRTNRFFG3C2LBLG44DJLFWWI22NGFFDIURQOBEFGM2GN5SVI3CFJVKVE5KVGNNGUWSIMRLE4RJZGZNHUTTXMNWTSSLBIRTXIWKVJZJVOV2WJNKFIWSDMFWFMRCOGIYDGWSHKEYVMM3PGVKDCSSQKZEFE2KVNZJG4VT2KZUFKR2WOJJEQ332LJKEKNLBIRHHEU3LJZIFCV2FPFKGUZDQJ5KU2NKOGFMTCWSVIZGVSVLIIVMVO5DTMRXEMV2ZLBNDGWSVKZNGEVLIJNRUMWSQJZKEENLCNU4W4ZKYIJBVUWDEK5GWWVSVMFCGWM2XNV2G4TSFIZKFGMTEMZIW4ULXMFWUMMTDI5NDAURTOA3FMV2GKZKWYTRTJRKGISCUNZCTEYSUKZLE4RKKMZHDETTMMRDWO5C2GFDHCTKILJ4FGRLEONMWYRTXKVCWYR3DIZSFMWBTNQ2VSM22NRLDE3CLLAZVUM2VIVUE4VCVIZYU4RLQMZLEKZCEJYYHIUTCI5XTAUTLKU2VU3KKNZMTA4ZTKZBTCWS2K5NFMTRTKE2VK23ILFNDCOKYJ5LWGMTDKRBG4U2IIJIE4WCVGBLGYYZVMVCWITKZPJHFOY2GIJZGIVSSKFKUOMLJKJDUM4SNK5TTGWSFJYYVG3TII5SG4ZDYKFLE44TEIVNFQYJRKJDVE3TMORHEO3DKKVVWYWSMKMYDKV2HGVJWIR2ONFQVMWSHKRCFSMTEIZDEGU2VIY2VGRSBPFGVKYZUJVDVMNCSNJWGWYLNGUYFEM2OJFHDGZBULFLGI6CSI42XSTDNMRWVC3TQJVKG43CWJVVE4U2ZGFYFIVKVGFKE4R2GNJNEMRJ5 Connection: keep-alive X-Content-Type-Options: nos niff 传输编码:分块[{"availabilityDomain":"WdKg:SA-SAOPAULO-1-AD-1","capacityReservationId":null,"compartmentId":"

我只需要打印 [{ JSON.....}]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM