>  기사  >  백엔드 개발  >  PHP 함수 소개—curl_multi_getcontent(): cURL 세션의 콘텐츠 가져오기

PHP 함수 소개—curl_multi_getcontent(): cURL 세션의 콘텐츠 가져오기

王林
王林원래의
2023-07-26 15:01:171471검색

PHP 함수 소개—curl_multi_getcontent(): cURL 세션의 내용 가져오기

PHP 개발에서는 네트워크를 통해 다른 서버에 데이터를 요청해야 하는 경우가 많습니다. 그리고 cURL(클라이언트 URL)은 PHP에서 네트워크 통신에 사용되는 강력한 PHP 확장 라이브러리입니다. cURL은 일련의 함수를 제공하며 그 중 하나는 cURL 세션의 콘텐츠를 얻는 데 사용되는 cur_multi_getcontent()입니다.

curl_multi_getcontent() 함수는 curl_multi_init() 함수를 사용하여 생성된 여러 cURL 세션의 콘텐츠를 가져오는 데 사용됩니다. 컬_multi_exec() 함수를 사용하여 여러 cURL 세션을 실행할 때, 우리는 컬_다중_getcontent() 함수를 사용하여 각 세션의 반환 결과를 얻을 수 있습니다. 이 함수에 대한 호출은 매우 간단합니다. cURL 리소스 핸들을 매개변수로 전달하기만 하면 됩니다.

여기는 컬_다중_getcontent() 함수를 사용하는 샘플 코드입니다:

// 初始化cURL会话
$ch1 = curl_init('http://www.example.com/api1');
$ch2 = curl_init('http://www.example.com/api2');

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

// 将两个会话添加到多个句柄中
curl_multi_add_handle($mh, $ch1);
curl_multi_add_handle($mh, $ch2);

// 执行多个句柄的cURL会话
do {
    $status = curl_multi_exec($mh, $active);
} while ($status === CURLM_CALL_MULTI_PERFORM || $active);

// 循环获取每个会话的内容
$contents = array();
foreach([$ch1, $ch2] as $ch) {
    $content = curl_multi_getcontent($ch);
    $contents[] = $content;
}

// 关闭多个句柄的cURL会话
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);

// 输出获取到的内容
var_dump($contents);

위 코드에서는 먼저 컬_init() 함수를 사용하여 두 개의 cURL 세션을 초기화하고 이를 다중 핸들 cURL 세션에 추가했습니다. 그런 다음 이러한 세션은 curl_multi_exec() 함수를 사용하여 실행되었습니다. 실행하는 동안 우리는 cur_multi_getcontent() 함수를 사용하여 각 세션의 콘텐츠를 가져오고 콘텐츠를 배열에 저장합니다. 마지막으로, 여러 세션을 닫으려면curl_multi_remove_handle() 함수와curl_multi_close() 함수를 사용하십시오.

curl_multi_getcontent() 함수를 사용하기 전에 먼저 세션이 실행되었는지 확인해야 합니다. 그렇지 않으면 콘텐츠를 올바르게 가져오지 못할 수 있습니다.

요약하자면, cur_multi_getcontent() 함수는 여러 cURL 세션의 콘텐츠를 얻는 데 사용할 수 있는 매우 유용한 함수입니다. 여러 API를 동시에 요청할 때 이를 사용하여 각 세션의 반환 결과를 가져와 후속 처리를 용이하게 할 수 있습니다.

위 내용은 PHP 함수 소개—curl_multi_getcontent(): cURL 세션의 콘텐츠 가져오기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.