LoginSignup
23
26

More than 5 years have passed since last update.

CakePHPのHttpSocketでHTTPリクエスト

Last updated at Posted at 2014-03-13

久々にPHPを触ってHTTP通信をやろうとしたらCakePHPで簡単な方法があったのでメモ
公式ドキュメント(英)より

CakePHPのバージョンは2.4です.
HttpSocketというメソッドを利用するっぽいです

POSTリクエストの場合

(ユーザー登録をする某APIへリクエスト)

$resultsにレスポンスの値が入ります.

post_controller.php
$url = 'http://example.com/users/add';
$data = array(
    'username' => "yourename",
    'pass' => "パスワード",
);

App::uses('HttpSocket', 'Network/Http');
$HttpSocket = new HttpSocket();
$results = $HttpSocket->post($url, $data);
debug($results);

GETリクエストの場合

(問題を取得する某API)

$resultsにレスポンスの値が入ります.

get_controller.php
$url = 'http://example.com/problems/index.json';
$data = array(
    'limit' => 100,
    'grade' => 3
);

App::uses('HttpSocket', 'Network/Http');
$HttpSocket = new HttpSocket();
$results = $HttpSocket->get($url, array($data));
debug($results);

/*おまけ jsonの場合は$results->bodyに対してjson_decode()すると良いっぽです.*/
$response = json_decode($results->body);
23
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
26