curl_multiでHTTP並列リクエストを行うサンプル
サイト名 | curl_multiでHTTP並列リクエストを行うサンプル | 評価 | ★★★★★ 超絶有用!ネット生活には必須サイト! |
---|---|---|---|
サイトURL | http://qiita.com/Hiraku/items/1c67b51040246efb4254 | ||
Description | curl_multiはselectシステムコールを使って同時に複数のHTTPリクエストを行うことができます。マルチスレッドを使っているわけではなく、原理はnode.jsなんかと近いI/O多重化です。PHPのcurlはlibcurlの極薄ラッパーの形を取っており、ちょっと書きにくいです。 クラスでラッピングするといいと思います。 PHP<?php /** * curl_multiでHTTP複数リクエストを並列実行するテンプレ * */ //タイムアウト時間を... | ||
Keywords | |||
説明 | |||
PHPでHTTPリクエストを使って、他サイトのソースを取得するロジックのサンプル。 単体のリクエストではcurlを使うのが一般的だが、複数サイトから順に取得していくと、えらく時間がかかってしまいますので、そのような場合には、このcurl_multiを利用し、同時取得して時間を短縮します。 |
|||
所感 | |||
PHPでサーバーでの動作スクリプトのみを作るのでなく、このcurlのようにHTTPリクエストを利用したりすると、途端に難易度があがりますので、こちらのサイトのように、サンプル付きで解説されるとわかりやすくて助かります。 | |||
備考 | |||
curl_multiは同時リクエストを多くするほど処理自体は高速化できますが、あまりに件数を多くし過ぎると、同時に通信できるパケット量の制限からか、対象ソースが一部抜け落ちてしまいますので、注意が必要です。 |
掲載:2013-11-25 20:12:16