[php] cURL을 사용하여 다중 요청(Multiple requests)을 보내는 방법은?

아래는 cURL을 사용하여 다중 요청을 보내는 간단한 예제 코드입니다.

// 다중 cURL 핸들 생성
$mh = curl_multi_init();

$urls = array(
    'http://example.com/api1',
    'http://example.com/api2',
    'http://example.com/api3'
);

$ch = array();
foreach ($urls as $url) {
    $ch[$url] = curl_init();
    curl_setopt($ch[$url], CURLOPT_URL, $url);
    curl_setopt($ch[$url], CURLOPT_RETURNTRANSFER, true);
    curl_multi_add_handle($mh, $ch[$url]);
}

$active = null;
// 다중 요청 실행
do {
    $mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

// 모든 요청이 완료될 때까지 대기
while ($active && $mrc == CURLM_OK) {
    if (curl_multi_select($mh) != -1) {
        do {
            $mrc = curl_multi_exec($mh, $active);
        } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    }
}

// 결과 처리
foreach ($urls as $url) {
    $response = curl_multi_getcontent($ch[$url]);
    // 결과를 처리하는 로직 추가
    echo $response;
    curl_multi_remove_handle($mh,  $ch[$url]);
    curl_close($ch[$url]);
}
curl_multi_close($mh);

위의 코드는 다중 cURL 핸들을 생성하여 여러 URL로 동시에 요청을 보내는 방법을 보여줍니다. 결과를 처리하는 부분은 개발자가 원하는 대로 수정할 수 있습니다.

더 자세한 내용은 PHP 공식 문서나 cURL 관련 자습서를 참고하시면 도움이 될 것입니다.