$data = file_get_contents( "http://host/index.html" );
#!/usr/bin/php <?php $url = "http://host/path"; # POST または GET で送信するデータ $data = array( 'id' => "1", 'name' => "hoge", ); # HTTPヘッダ $headers = array( "User-Agent: PHP ". PHP_VERSION, 'Authorization: Basic '.base64_encode('user:pass'), ); $opt = array( 'http' => array( 'method' => 'POST', 'content' => http_build_query($data) 'header' => implode("\r\n", $headers), ) ); $res = file_get_contents( $url, false, stream_context_create( $opt )); # レスポンスの HTTPヘッダ一覧 print_r( $http_response_header ); # 1番目の HTTPヘッダを取得し、項目名と値を表示 $h = split( ':', $http_response_header[1] ); print $h[0] . "\n"; print ltrim($h[1]) . "\n"; # HTTP body を表示 print $res; ?>
$res が FALSE の場合は、$http_response_header を参照する。
$http_response_header[0]: HTTPステータスが格納される。
$http_response_header[1] 以降は HTTPヘッダが格納される。
(例)
var_dump( $http_response_header);
結果
array(6) {
[0]=>
string(22) "HTTP/1.1 404 Not Found"
[1]=>
string(35) "Date: Thu, 28 Jul 2011 10:02:02 GMT"
[2]=>
string(120) "Server: Apache/2.0.55 (Unix) mod_ssl/2.0.55 OpenSSL/0.9.7c"
[3]=>
string(19) "Content-Length: 368"
[4]=>
string(17) "Connection: close"
[5]=>
string(43) "Content-Type: text/html; charset=iso-8859-1"
}