Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengenalan fungsi PHP—curl_multi_getcontent(): Dapatkan kandungan sesi cURL

Pengenalan fungsi PHP—curl_multi_getcontent(): Dapatkan kandungan sesi cURL

王林
王林asal
2023-07-26 15:01:171547semak imbas

Pengenalan fungsi PHP—curl_multi_getcontent(): Dapatkan kandungan sesi cURL

Dalam pembangunan PHP, kita selalunya perlu meminta data daripada pelayan lain melalui rangkaian. Dan cURL (URL Pelanggan) ialah perpustakaan sambungan PHP yang berkuasa yang digunakan untuk komunikasi rangkaian dalam PHP. cURL menyediakan satu siri fungsi, salah satunya curl_multi_getcontent(), yang digunakan untuk mendapatkan kandungan sesi cURL.

Fungsi curl_multi_getcontent() digunakan untuk mendapatkan kandungan berbilang sesi cURL yang dibuat menggunakan fungsi curl_multi_init(). Apabila menggunakan fungsi curl_multi_exec() untuk melaksanakan berbilang sesi cURL, kita boleh menggunakan fungsi curl_multi_getcontent() untuk mendapatkan hasil pulangan setiap sesi. Panggilan ke fungsi ini adalah sangat mudah Anda hanya perlu menghantar dalam pemegang sumber cURL sebagai parameter.

Berikut ialah contoh kod menggunakan fungsi curl_multi_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);

Dalam kod di atas, kami mula-mula memulakan dua sesi cURL menggunakan fungsi curl_init() dan menambahkannya pada sesi cURL berbilang pemegang. Sesi ini kemudiannya dilaksanakan menggunakan fungsi curl_multi_exec(). Semasa pelaksanaan, kami menggunakan fungsi curl_multi_getcontent() untuk mendapatkan kandungan setiap sesi dan menyimpan kandungan ke dalam tatasusunan. Akhir sekali, gunakan fungsi curl_multi_remove_handle() dan fungsi curl_multi_close() untuk menutup berbilang sesi.

Perlu diingat bahawa sebelum menggunakan fungsi curl_multi_getcontent(), kita mesti terlebih dahulu memastikan bahawa sesi telah dilaksanakan, jika tidak, kandungan mungkin tidak diperoleh dengan betul.

Ringkasnya, fungsi curl_multi_getcontent() ialah fungsi yang sangat berguna yang boleh digunakan untuk mendapatkan kandungan berbilang sesi cURL. Apabila meminta berbilang API serentak, anda boleh menggunakannya untuk mendapatkan hasil pulangan setiap sesi untuk memudahkan pemprosesan berikutnya.

Atas ialah kandungan terperinci Pengenalan fungsi PHP—curl_multi_getcontent(): Dapatkan kandungan sesi cURL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn