*

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

MAMPでLaravelを動作させる

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

Node.jsのSocket.io入門

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

Javascript パターン

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

記事を読む

no image

Laravelでbladeを利用したViewを作成

今回はLaravelで採用されているviewテンプレートのBladeを利用して画面を作成してみます。

記事を読む

no image

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

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

記事を読む

Message

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

PAGE TOP ↑