[英]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.