*

PHPのcURLを利用してAPIをGET/POSTで叩く

公開日: : 投稿者:raru php, web技術

PHPからcURLを利用してhttpのget, postで問い合わせを行ってみます。
今回はYAHOOのapiを叩くプログラムを書いてみます。

CURLでGET

まずはGETでの問い合わせです。

// コネクションを開く
$conn = curl_init();

// サーバ証明書の検証は行わない。
curl_setopt($conn, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($conn, CURLOPT_SSL_VERIFYHOST, false);

// curl_execの実行結果を文字列として取得できるように設定
curl_setopt($conn, CURLOPT_RETURNTRANSFER, true);

// 問い合わせ先のurlを指定
curl_setopt($conn, CURLOPT_URL,  self::YAHOO_API_URL);

// パラメータを設定
curl_setopt($conn, CURLOPT_POSTFIELDS, http_build_query($param));

// 問い合わせを行い、その結果を取得
$result = curl_exec($conn);

// コネクションを切断
curl_close($conn);

self::YAHOO_API_URLはこのクラス内にconstで宣言したフィールドを呼び出しています。
initでコネクションを開いて、setoptでオプションを指定し、execで問い合わせ実行。
その後closeで閉じるというわけすね。

比較的簡単に問い合わせが行えるものなのですね。
ただオプションが多いので、もっとしっかりと利用しようと思うと少し調査しないとですね。

CURLでPOST

次はPOSTで問い合わせを行ってみます。

// コネクションを開く
$conn = curl_init();

// サーバ証明書の検証は行わない。
curl_setopt($conn, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($conn, CURLOPT_SSL_VERIFYHOST, false);

// curl_execの実行結果を文字列として取得できるように設定
curl_setopt($conn, CURLOPT_RETURNTRANSFER, true);

// POSTで送信するように設定
curl_setopt($conn, CURLOPT_POST, true);

// 問い合わせ先のurlを指定
curl_setopt($conn, CURLOPT_URL,  self::YAHOO_API_URL);

// パラメータを設定
curl_setopt($conn, CURLOPT_POSTFIELDS, http_build_query($param));

// 問い合わせを行い、その結果を取得
$result = curl_exec($conn);

// コネクションを切断
curl_close($conn);

基本的にGETと同じで、オプションが一つ追加されています。
お手軽です。

参考サイト

今回参考とさせていただいたので以下のサイトです。
零弐壱蜂
PHPのcurlでPOST

参考というか、ままというか……。

関連記事

no image

Laravelでクラスをnewする

今回はLaravelでのクラスのnewの仕方です。 正確には、Laravelでの他ファイルで作成し

記事を読む

no image

socket.ioとwebRTCでビデオチャット

現在作成したいものがあるために、その予行演習として nodeのsocket.ioとwebRTC機能

記事を読む

no image

WebRTC + Node によるルーム機能付きビデオチャット 2

前回の続き こちらは前回の記事の続きになります。 また前回の記事にコメントを頂いたのですが、

記事を読む

no image

Node.jsのSocket.io入門

前置き WebRTCを使用して通信を行なうときに、offerなどの情報を伝える為にサーバサイドのプ

記事を読む

no image

Mac OS X (Yosemite) にLaravelをインストール

Max OS 10.10(yosemite)にPHPフレームワークのLaravelをインストールして

記事を読む

no image

MAMPでLaravelを動作させる

先日laravelをMAMPのhtdocsに配置しましたが、当然それでは動かなかったので設定しました

記事を読む

no image

要求されたアクションを実行するには、WordPress が Web サーバーにアクセスする必要があります。

wordpressの更新を行おうとした時の上記のエラーが発生した場合に、いくつか対策方法があります。

記事を読む

no image

Facebookから日本語でデータ取得 (※だたしlocationは除く

Facebook Graph APIを通して取得したデータがローマ字や英語で困ることがあります。

記事を読む

no image

WebRTC + Node によるルーム機能付きビデオチャット 1

現在googleで調べても日本語では微妙にかゆいところに手が届かないWebRTCと Socket.

記事を読む

no image

Laravelでルーティングからview表示をしてみる

Laravelでのroutes.phpの設定と、bladeを利用してview表示を行います。 いろ

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑