php - 带有 Curl 请求的 For 循环 - PHP
问题描述
我正在检查地址簿列表(输出为复选框)以查看用户选择了哪些书籍。对于选定的,我使用 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));
}
解决方案
由于 $abook 是一个数组,为什么不序列化它并只发送一个 curl 请求并进行一次后端处理。如果使用事务触发多个查询会很好。
推荐阅读
- php - wordpress自定义重写规则到外部非wordpress php页面
- sql-server - SQL Server 语法错误:未绑定多部分标识符
- python - 不能在异步调用的函数中放入 Python 调试器?
- relative-path - 如何在 Taleo Connect 客户端中使用相对路径?
- reactjs - react-vr和react-360的布局定位有什么区别?
- jsf - primefaces p:photocam 被 chrome 挡住了
- python - Scipy 无法正确安装
- sql - 如何在不丢失重复值的情况下使两个表相交 oracle
- jboss7.x - 如何捕捉 org.jboss.weld.context.ContextNotActiveException
- sql-server - 将数据加载到具有固定长度 ssis 的 .txt 文件中