【发布时间】:2019-08-21 10:34:02
【问题描述】:
我需要获取 json multpages API 响应并将结果合并到一个唯一的 json 中。
API GET,每页返回 50 个集合。
我需要:
- 生成 curl 请求循环;
- 最后一页响应为空时中断循环;
- 将来自页面的 Json 响应合并为一个(唯一的)json 响应;
我的工作 PHP 代码:
$p = 1;
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://demourl.com/api-v1/products/?page=' . $p . '",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => "",
CURLOPT_COOKIE => "ckAPI=lkjk09je1iiw90q882388mfvufuiag6f5n4dodr4",
CURLOPT_HTTPHEADER => array(
"authorization: Basic Og==",
"content-type: application/json",
"x-api-key: 85f8287ae41o2o3j4h56u7ub3416a1f7d06b2c5",
"x-app-key: m1n2b3v4v4qwrty0192of9mawo0LswostOjeXoW"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
header('Content-type: Application/JSON');
$j = json_decode($response);
echo json_encode($j, JSON_PRETTY_PRINT);
}
我的代码工作正常,但这段代码没有生成循环。
请帮助我。谢了。
【问题讨论】:
-
响应示例在哪里?当您到达最后一页时,您会得到什么响应?顺便说一句,您的 url 中有一个错误,
page参数,您应该使用双引号。