欢迎访问WDPHP素材源码!今天是2024年04月29日 星期一,记得吃早餐哦!
您好,游客 [ 马上登录 | 注册帐号 | 微信登录 | QQ登录]
当前位置:首页 > 教程 > PHP教程 > 

使用 PHP cURL 库实现异步网络请求
栏目分类:PHP教程    发布日期:2023-03-31    浏览次数:1152次     收藏

以下是使用 PHP cURL 库实现异步网络请求的示例代码:
function async_request($url, $params = array(), $callback) {
  // 初始化 cURL
  $ch = curl_init();

  // 设置 URL 和其他选项
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_POST, true);
  curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

  // 创建一个 cURL 多处理句柄
  $mh = curl_multi_init();

  // 将 cURL 句柄添加到多处理句柄中
  curl_multi_add_handle($mh, $ch);

  // 执行多个 cURL 请求
  $running = null;
  do {
    curl_multi_exec($mh, $running);
  } while ($running > 0);

  // 获取响应数据并调用回调函数
  $response = curl_multi_getcontent($ch);
  call_user_func($callback, $response);

  // 移除 cURL 句柄并关闭多处理句柄和 cURL 句柄
  curl_multi_remove_handle($mh, $ch);
  curl_multi_close($mh);
  curl_close($ch);
}

使用示例:
async_request('https://api.wdphp.com/test', array('param1' => 'value1', 'param2' => 'value2'), function($response) {
  echo $response;
});

此方法将通过 cURL 库执行异步 POST 请求,并在完成后调用指定的回调函数来处理响应。
声明:本文为原创文章,如需转载,请注明来源 WDPHP.COM 并保留原文链接:http://www.wdphp.com/detail/2002.html

相关热词:

源码 模板 特效 素材 资源 教程 站长