タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

curl_multiに関するrochefortのブックマーク (4)

  • PHP で APIを呼ぶ (cURL)

    PHPで複数の API を呼び出そう! 今日では、Google, Yahoo, Amazon などいろいろなところで情報をAPI(Application Program Interface)というかたちで提供しています。そこで、それらの情報を PHPによって収集/利用するのに cURLというプロジェクトを利用してみます。 cURLとは cURLとは、いろいろな通信プロトコルを用いてデータを転送するライブラリやコマンドを提供するプロジェクトで、Client for URLsからきています。 この cURLを利用し、いろいろなサービスが提供している情報を収集することができます。 cURLを使ってみる 実際に Yahoo JAPANが提供している RSSを取得してみよう。(エラー処理は省いています) <?php $sUrl = "http://headlines.yahoo.co.jp/rss/

  • APIとの通信効率をよくする実装例(1) curl_multi

    こんにちは。ライフスタイル事業部のアリタと申します。 Yahoo!のサービスも裏側ではWebAPIが多用されています。1つのページを構成するのに5、6個のAPIを使うこともざらですが、それではさすがにパフォーマンスが問題となってきます。その原因と対策例を紹介していきましょう。 ■モデルケース 例として、3つのAPIから取得したデータをマッシュアップしたページがあるとします。(ここではサンプルコードを簡単にするため、APIの代わりに以下のRSSで説明としました) Yahoo!トピックス エンターテインメントRSS http://dailynews.yahoo.co.jp/fc/entertainment/rss.xml Yahoo!ミュージックマガジン最新情報RSS http://magazine.music.yahoo.co.jp/rss/ALL/rss.xml Yahoo!検索トレンドR

    APIとの通信効率をよくする実装例(1) curl_multi
  • curl_multiでHTTP並行リクエストを行うサンプル

    curl_multiはselectシステムコールを使って同時に複数のHTTPリクエストを行うことができます。マルチスレッドやらマルチプロセスを使っているわけではなく、原理はnode.jsなんかと近いI/O多重化で、一度に一つのことしかしていません。 PHPcurlはlibcurlAPIをほぼ踏襲しており、ちょっと取っつきにくいです。クラスでラッピングして、curl_close()などはデストラクタで呼ばれるように自動化すると、もう少しすっきりすると思います。 <?php /** * curl_multiでHTTP複数リクエストを並列実行するテンプレ * */ //タイムアウト時間を決めておく $TIMEOUT = 10; //10秒 /* * 1) 準備 * - curl_multiハンドラを用意 * - 各リクエストに対応するcurlハンドラを用意 * リクエスト分だけ必要 * *

    curl_multiでHTTP並行リクエストを行うサンプル
  • cURL | PHP プログラミング解説

    導入 Windowsでは、 libeay32.dll (OpenSSL 1.1以降ならば、libcrypto-*.dll) ssleay32.dll (OpenSSL 1.1以降ならば、libssl-*.dll) の2つのファイルにPATHが通っていなければなりません。これらのファイルは既定ではphp.exeと同一のディレクトリにあります。もしcURLの関数の呼び出し時に「PHP Fatal error: Call to undefined function curl_init()」のようにエラーとなるならば、このPATHの設定が原因です。PHP: インストール手順 - Manual 基的な使用方法 cURLは、基的に次の手順で使用します。 セッションの初期化 … curl_init() オプションの設定 … curl_setopt() 転送の実行 … curl_exec() セッショ

  • 1