2011/08/25

CakePHP でソケット通信をしたい

今絶賛話題中のリワード広告ではありがちな処理で、
成果報告があります。
CakePHP でさくっと報告しちゃいましょう。


CakePHPのコアユーティリティライブラリの HttpSocket クラスを使えば簡単です。
App::import('Core', 'HttpSocket');
$httpSocket = new HttpSocket();
// http://example.com?params1=values1
// $response には httpレスポンスの body 部分が返ってくる
// リクエスト先で OK とテキスト出力されているなら $response の中身は OK になる。
$response = $httpSocket->get('http://example.com', array(
'params1' => 'values1',
));
view raw gistfile1.aw hosted with ❤ by GitHub


ね?簡単でしょ?
GET の例ですが、もちろん POST もできます。
BASIC認証なんかもいけます。

参考:
HttpSocket :: コアユーティリティライブラリ :: マニュアル :: 1.3コレクション
http://book.cakephp.org/ja/view/1517/HttpSocket

このクラスの存在知らなくて、
Zend_Http_Client 使おうとしたのは内緒。