*

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

Node.jsのSocket.io入門

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

システムの仕様書を作れそうなウェブアプリ

現在サービス開発を本気で取り組もうと思っているraruです。 本気が指すところは、事業として成立す

記事を読む

no image

Javascript パターン

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

MAMPでLaravelを動作させる

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

記事を読む

no image

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

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

記事を読む

Message

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

PAGE TOP ↑