[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 관련 자습서를 참고하시면 도움이 될 것입니다.