2013年11月29日

file_get_contents を使って http 経由でコンテンツを読み込んだ際の http ヘッダのレスポンスを取得する

オンライン実行( rextester.com )

$http_response_header は、http ラッパーを使ったアクセスでローカルスコープで作成される変数です。(最大の大きさは、1024 なので注意)

以下では、PHP 5.3.0 以降で有効なオプションを json_encode の第二引数に指定して実行しています
<?php
function get_contents() {
	file_get_contents("https://www.google.co.jp/");
	print json_encode($http_response_header,JSON_PRETTY_PRINT|JSON_FORCE_OBJECT);
}
get_contents();
?>


▼ 実行結果
{
    "0": "HTTP\/1.0 200 OK",
    "1": "Date: Fri, 29 Nov 2013 00:55:45 GMT",
    "2": "Expires: -1",
    "3": "Cache-Control: private, max-age=0",
    "4": "Content-Type: text\/html; charset=Shift_JIS",
    "5": "Set-Cookie: PREF=ID=fc5e4a8a0f498e60:FF=0:TM=1385686545:LM=1385686545:S=oyVcq_yknWKcwmMs; expires=Sun, 29-Nov-2015 00:55:45 GMT; path=\/; domain=.google.co.jp",
    "6": "Set-Cookie: NID=67=Qq_GXb5dblL6R9IukUa_2tGxBAQnOAJ-yRA_bDG7nmyQ9HkLSiakRS5hyp7bAog5bTyJ_9sP35c3jaHTgEfyB6I8QP12Xf_FIBNzeC4_yFv4gPAam1D4hgckzxc0jcAp; expires=Sat, 31-May-2014 00:55:45 GMT; path=\/; domain=.google.co.jp; HttpOnly",
    "7": "P3P: CP=\"This is not a P3P policy! See http:\/\/www.google.com\/support\/accounts\/bin\/answer.py?hl=en&answer=151657 for more info.\"",
    "8": "Server: gws",
    "9": "X-XSS-Protection: 1; mode=block",
    "10": "X-Frame-Options: SAMEORIGIN",
    "11": "Alternate-Protocol: 443:quic"
}


【通信の最新記事】
posted by at 2013-11-29 10:01 | 通信 | このブログの読者になる | 更新情報をチェックする