*

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

PHPでXMLをnamespaceを利用したxpathでnode取得

PHPでxmlを読み込んでxpathでnodeを取得して見たいと思います。 今回はyahooの形態

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

IEとchromeでbeforeunloadをaタグのhrefに反応させずに利用……できなかった

今回beforeunloadが面倒な動きをしていたので調査&ある程度都合よくしてみました。 してみ

記事を読む

no image

Javascript パターン

最近更新を行なえるほど技術を追っていませんが、日々の電車での移動時間に本を読んでいます。 2駅乗っ

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

MAMPでLaravelを動作させる

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

記事を読む

Message

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

PAGE TOP ↑