我检查地址簿列表(输入复选框)以查看用户选择的书籍。对于所选择的,我使用curl通过他们的API将它们添加到ESP。
我有以下代码可以达到预期的效果,但是它会导致页面加载速度很慢,我认为这是因为我在大量的curl请求中循环了15次(每个地址簿一次)并想知道是否有人可以帮我整理一下?
$aBook = $_POST['addressBooks'];
$N = count($aBook);
for($i=0; $i < $N; $i++)
{
$content = [
'email' => $_POST['email']
];
global $baseUrl, $apiUsername, $apiPassword;
$url = $baseUrl . '/v2/address-books/' . $aBook[$i] . '/contacts';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt(
$ch, CURLOPT_HTTPHEADER, array('Accept: application/json',
'Content-Type: application/json')
);
curl_setopt($ch, CURLAUTH_BASIC, CURLAUTH_DIGEST);
curl_setopt(
$ch, CURLOPT_USERPWD,
$apiUsername . ':' . $apiPassword
);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS,json_encode($content));
$response = json_decode(curl_exec($ch));
}
答案 0 :(得分:0)
由于$ abook是一个数组,为什么不对它进行序列化并只发送一个curl请求并进行一次后端处理。如果使用事务触发多个查询会很好。