現在の位置: ホーム> 最新記事一覧> curl_multi_add_handleの詳細な説明ハンドルを追加した後、リクエストを正しく実行して返品結果を処理する方法は?

curl_multi_add_handleの詳細な説明ハンドルを追加した後、リクエストを正しく実行して返品結果を処理する方法は?

gitbox 2025-08-23
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// この部分は、記事の内容とは何の関係もありません,初期化またはその他の設定にすることができます</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"初期化 PHP 環境...\n"</span></span><span>;
</span><span><span class="hljs-variable">$version</span></span><span> = </span><span><span class="hljs-title function_ invoke__">phpversion</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"現存在する PHP バージョン: <span class="hljs-subst">$version</span></span></span><span>\n";
</span><span><span class="hljs-meta">?></span></span><span>

<hr>

</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 記事が始まります</span></span><span>

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<h1>詳細な説明 curl_multi_add_handle ハンドルを追加した後,リクエストを正しく実行し、返品結果を処理する方法?</h1>"</span></span><span>;

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<p>存在する PHP 真ん中,使用 <code>cURL
';エコー

2。カールマルチハンドルマネージャーを初期化

エコー

次に、マルチハンドルマネージャーCurl_multi_init()を初期化します:

"
;エコー '
<span class="fun">$ mh = curl_multi_init();</span>
'
;エコー

3。マルチハンドルマネージャーに単一のハンドルを追加します

エコー

curl_multi_add_handle()を使用して、各単一のハンドルをマネージャーに追加します。

; echo '
curl_multi_add_handle($mh, $ch1);
curl_multi_add_handle($mh, $ch2);
'
;
エコー

4。同時リクエストを実行

エコー

追加が完了したら、すべてのリクエストが完了するまでcurl_multi_exec()を実行するためにループする必要があります:

; echo '
$running = null;
do {
    $status = curl_multi_exec($mh, $running);
    // オプション: ファイル記述子が変更されるのを待ちます,減らす CPU 占有
    curl_multi_select($mh);
} while ($running > 0);
'
;
エコー

5。戻り結果を取得

エコー

リクエストが完了した後、 curl_multi_getContent()を使用して、各ハンドルの返品コンテンツを取得できます。

; echo '
$response1 = curl_multi_getcontent($ch1);
$response2 = curl_multi_getcontent($ch2);

echo "Response 1: " . $response1 . "\n";
echo "Response 2: " . $response2 . "\n";
'
;
エコー

6。ハンドルを取り外して閉じます

;エコー

最後に、リソースをクリーニングし、最初にマルチハンドルマネージャーから削除してから、シングルとマルチハンドルを閉じなければなりません。

echo '
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);

curl_close($ch1);
curl_close($ch2);
curl_multi_close($mh);
'
;
エコー "

まとめ

"
;エコー

curl_multi_add_handleを使用した後、結果を正しく実行して取得するための重要な手順は次のとおりです。

;エコー
  1. スタンドアロンカールハンドルを作成してリターンオプションを設定します。
  2. マルチハンドルマネージャーを初期化します。
  3. マネージャーにハンドルを追加します。curl_multi_exec
  4. 終了するまでループします。curl_multi_getContent
  5. 結果を取得します。
エコー

これらの手順を使用すると、返されたデータが正しく処理されるようにしながら、同時のHTTP要求を効率的に実行できます。

?>