如何在循环中使用curl 100次发送请求并将响应存储在数组中?如何在100次循环中使用curl PHP?
例如:当curl第一次使用循环时,获取500条记录并存储在一个数组中,然后再次使用第二个循环执行相同的过程,并获得500条记录形式的响应并存储在同一个数组中,没有任何问题。最后,我需要在数组中存储50K记录,并且将用于在我的数据库中插入记录。
我工作最后2天,但没有得到任何解决方案,所以请帮助我。
$final_data = array();
for($d=1;$d<=100;$d++)
{
$data = '{"request": {"header": {"username": "xxx","password": "xxx"},
"body": {
"shapes": [],
"size_to": "",
"size_from": "",
"color_from": "",
"color_to": "",
"clarity_from": "",
"clarity_to": "",
"cut_from": "",
"cut_to": "",
"polish_from": "",
"polish_to": "",
"symmetry_from": "",
"symmetry_to": "",
"labs": [],
"price_total_from": "",
"price_total_to": "",
"page_number": "1",
"page_size": "50",
"sort_by": "price",
"sort_direction": "ASC"
}}}';
$json = json_decode($data,true);
$json['request']['body']['page_number'] = $d;
$data = json_encode($json);
$curl = curl_init();
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_URL, 'http://technet.rapaport.com/HTTP/JSON/RetailFeed/GetDiamonds.aspx');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
$dd = json_decode($result,true);
foreach($dd['response']['body']['diamonds'] as $key)
{
array_push($final_data,$key);
}
curl_close($curl);
}
?>
+0
浏览器崩溃与您的服务器端代码有什么关系?你还需要提供更多的细节,代码等,让任何人了解你在做什么。 –
+0
这需要多长时间?在完成服务器端过程之前,浏览器不会等待几分钟。客户很可能只是看到“糟糕,超时”或类似的东西。 –
+0
抱歉我的无效问题,我已经更新了我的问题。 –
PHP循环使用curl发送请求并存储响应
这篇博客讨论了如何在PHP中使用curl在循环中发送100次请求,每次获取500条记录,并将所有响应存储在一个数组中,以便后续插入数据库。作者遇到问题并寻求解决方案,分享了尝试的代码片段,但遇到了浏览器崩溃和超时问题。
1199