我正在尝试从 api 下载所有数据,所以我正在卷曲其中并将结果保存为 json 文件。但是执行停止并且结果被截断并且永远不会完成。
这怎么能补救。也许 api 的服务器中的最大执行时间不能服务这么久,所以它停止了。我认为有超过 10000 个结果。
有没有办法下载前 1000 个、第二个 1000 个结果等,顺便说一下,api 使用sails.js作为他们的 api,
这是我的代码:
<?php
$url = 'http://api.example.com/model';
$data = array (
'app_id' => '234567890976',
'limit' => 100000
);
$fields_string = '';
foreach($data as $key=>$value) { $fields_string .= $key.'='.urlencode($value).'&'; }
$fields_string = rtrim($fields_string,'&');
$url = $url.'?'.$fields_string;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, '300000000');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($ch);
print($response);
$file = fopen("results.json", 'w+'); // Create a new file, or overwrite the existing one.
fwrite($file, $response);
fclose($file);
curl_close($ch);