【php】file_get_contents()でPOSTリクエストを送る
ソース
<?php $data = http_build_query(array('foo' => 'bar', 'name' => 'やまだ', 'age' => '123'), '', '&'); $options = array( 'http'=>array( 'method' => 'POST', 'header' => "Content-type: application/x-www-form-urlencoded\r\n" . "User-Agent: php.file_get_contents\r\n" // 適当に名乗ったりできます . "Content-Length: " . strlen($data) . "\r\n", 'content' => $data ) ); $context = stream_context_create($options); $response = file_get_contents('http://127.0.0.1/test.php', false, $context);
解説
GETでHTTPリクエストを送る場合とさほど変わりはないです。
file_get_contens()関数にコンテキスト(”文脈”、”背景”、”状況”などの意味)を指定してリクエストを送信させることができるということです。
http_build_query()関数が使えるのはphp5から。
コンテキストが指定できるのはfopen()関数も同じく。
このように、CURL関数を使わなくても、簡単なPOSTリクエストなら送ることができます。
更新Ping(weblogUpdates.ping)をphpで送信する at softelメモ 2010年9月26日 22:37
[…] file_get_contents()関数でPOSTリクエストを送信できるのは以前書いたとおり。 […]