HttpSocketを使用してリクエスト送信
CakePHPには、Webサービスへのリクエスト送信のためのHttpSocketクラスが用意されています。
HttpSocket get
HTTP GETリクエストを発行します。デモ
Foursquare APIのvenue searchを使って周辺のランドマークを取得
function getlandmark(){
$client_id = <Client ID(48桁の英数字:要取得)>;
$client_secret = <Client Secret(48桁の英数字:要取得)>;
App::uses( 'HttpSocket', 'Network/Http');
$HttpSocket = new HttpSocket( array( 'ssl_verify_host' => false));
$url = "https://api.foursquare.com/v2/venues/search?";
$params = array(
'll' => $this->data['Foursquare']['geocode'],
'client_id' => $client_id,
'client_secret' => $client_secret,
'v' => '20120712',
'locale' => 'en'
);
// request
$jresponse = $HttpSocket->get( $url, $params);
// decoding JSON
$aresponse = json_decode( $jresponse, true);
}
-
string get($uri, $query, $request)
- $uri:リクエスト送信先のWebアドレス
- $query:$uriに付与するパラメータ
文字列として結合するか、パラメータ名をキーに配列としても作成できます。"param1=foo¶m2=bar" もしくは array('param1' => 'foo', 'param2' => 'bar') - $request:?
HttpSocketの設定
2.3 Migration GuideのHttpSocketによると、デフォルトでSSL証明書の検証を行うように変更されたようです。
と怒られる場合があります。証明書のホスト名とCN(コモンネーム)が異なる場合に発生しますので、ssl_verify_hostをfalseに設定してHttpSocketインスタンスを生成して下さい。
$HttpSocket = new HttpSocket( array( 'ssl_verify_host' => false));
HttpSocket doesn't look at SSL certificate CN alternatives
Utilities > HttpSocket
関連記事
-
-
複数ファイルアップロードフォーム
CakePHP 2.0からはHTML5が標準でサポートとなり、複数ファイルアップロードのためのフォーム記述が容易になりました。 View (ビュー) 配列 Array (
-
-
recursive設定によるfind()性能改善
CakePHPでは、モデルにアソシエーションを設定している場合、recursive(=>joinする階層)はデフォルトで0に設定されています。「recursiveゼロ」の意味するところとは、「1跨ぎま
-
-
DebugKitを導入
定番のブログチュートリアルをこなして、定番のDebugKitを導入してみました。 2.3からはCakePHPインストール直後に以下のように導入を推奨するような警告メッセージが表示されるようになりまし
-
-
ネストしたリストを出力「nestedList」
DBやJSONからデータを取得して、そのデータをもとにメニュー表示などネストしたリストを出力させたい場合に「nestedList」が便利です。 ヘルパーに渡すデータは連想配列である必要があります。(
-
-
独自のバリデーションルールを作成
CakePHPで組み込みバリデーションルールをつくる方法は、正規表現を定義する方法と独自メソッドを定義する方法の2つがあるようです。 参考 Custom Validation Rules 正規
-
-
ログインに追加の条件を付与する「scope」
ユーザ登録では、仮登録処理(status=1)から送付したメール内のリンクをクリックしてもらい本登録(status=0)を行ってもらう実装をしました。仮登録の状態ではログインできないように実装するには
-
-
Js/Cssファイルの読み込みや出力する方法
CakePHPのHTMLヘルパーにはjsファイルやcssファイルを読み込むためのメソッドが用意されています。ファイルを読み込むのに加えて、出力先を複数指定できるようになっています。 また、インライン
-
-
Markdown Plugin
「Markdown CakePHP Plugin」は、MarkDown書式をレンダリングしてくれるビューヘルパーです。MarkDownについて勉強しているうちに出会ったので試し打ちです。 ダウンロー
-
-
ユーザ登録(仮登録・メール・本登録)
以前1.3版で投稿した「ユーザ登録」処理の2.x版を作成しました。フローは同じで以下のようにします。 1. メールアドレス・パスワードでユーザ登録 2. この時点では仮登録として、本登録用のU
-
-
FullCalendarを使用してカレンダーアプリケーション
カレンダーアプリケーションを作成するため、カレンダー表示できるプラグインを探索して出会ったFullcalendarを試してみました。シンプルに使用できる上に、オプションがかなり豊富です。ダウンロード


Comment
CakePHP 2.x | HttpSocketを使用してリクエスト送信 http://t.co/d1A05JEo3J
php: CakePHP 2.x | HttpSocketを使用してリクエスト送信 http://t.co/bo7qf9zRyE