【发布时间】:2016-11-18 20:17:43
【问题描述】:
我正在尝试集成一个 Web 服务,其中 JSON 响应为接下来的 1,000 个结果返回一个 URL。我要做的是循环 cURL 以继续处理请求,直到“下一个”变量为空。
我在完成此操作时遇到问题,因为一旦看到返回的变量,我就无法循环备份。
$url = "https://xxxxxxxxxxxxxx.com/process/api/transactions/from/$yesterday/to/$today/for/company/21?offset=0&limit=1000";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Cookie: $cookie"));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$result = curl_exec($ch);
file_put_contents(rj_array, $result, FILE_APPEND);
$server = file_get_contents(rj_array);
$json_result = json_decode($server, true);
$next = $json_result['next'];
我正在考虑做类似的事情:
while(!empty($next)){
//Do the curl request again with the new URL $next
}
但我不能每次都重置 $next 变量。有没有人有任何想法?
【问题讨论】:
-
do while循环怎么样?我相信这会完全满足您的要求。