VPSサーバーでWebサイト公開 備忘録 ~Linux、MySQLからAJAXまで

PHP CURLでセッション情報、エラー情報、HTTPヘッダー情報を表示

PHP CURLでセッション情報、エラー情報、HTTPヘッダー情報を表示する方法をまとめました。

※目次をクリックすると目次の下部にコンテンツが表示されます。

セッション情報を表示 curl_getinfo
○サンプルプログラム抜粋
$target = "http://localhost";

$sc = curl_init();

curl_setopt($sc, CURLOPT_URL, $target);
curl_setopt($sc, CURLOPT_RETURNTRANSFER, TRUE);

$return = curl_exec($sc); 
$sess_info = curl_getinfo($sc);

curl_close($sc);

var_dump($sess_info);

 
○実行例
 
[“url”]=> string(16) “http://localhost”
[“content_type”]=> string(9) “text/html”
[“http_code”]=> int(200)
[“header_size”]=> int(251)
[“request_size”]=> int(48)
[“filetime”]=> int(-1)
[“ssl_verify_result”]=> int(0)
[“redirect_count”]=> int(0)
[“total_time”]=> float(1.031)
[“namelookup_time”]=> float(0)
[“connect_time”]=> float(1.031)
[“pretransfer_time”]=> float(1.031)
[“size_upload”]=> float(0)
[“size_download”]=> float(44)
[“speed_download”]=> float(42)
[“speed_upload”]=> float(0)
[“download_content_length”]=> float(44)
[“upload_content_length”]=> float(0)
[“starttransfer_time”]=> float(1.031)
[“redirect_time”]=> float(0)
[“certinfo”]=> array(0) { }
[“primary_ip”]=> string(9) “127.0.0.1”
[“primary_port”]=> int(80)
[“local_ip”]=> string(9) “127.0.0.1”
[“local_port”]=> int(3636)
[“redirect_url”]=> string(0) “”

エラー情報を表示 curl_error
○サンプルプログラム抜粋
$target = "http://localhost-nopage";

$sc = curl_init();

curl_setopt($sc, CURLOPT_URL, $target);
curl_setopt($sc, CURLOPT_RETURNTRANSFER, TRUE);

$return = curl_exec($sc); 
$sess_err = curl_error($sc);

curl_close($sc);

var_dump($sess_err);

 
○実行例(ターゲットのホストが存在しない場合)
 
string(56) “Could not resolve host: localhost-nopage; Host not found”

HTTPヘッダー情報
オプションにCURLOPT_HEADERを指定するとHTTPヘッダー情報を含めるかどうか指示できます。HTTPのボディ情報を含めない場合は、CURLOPT_NOBODYを指定します。
 
○サンプルコード抜粋
$target = "http://localhost-nopage";

$sc = curl_init();

curl_setopt($sc, CURLOPT_URL, $target);
curl_setopt($sc, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($sc, CURLOPT_HEADER, TRUE);
curl_setopt($sc, CURLOPT_NOBODY, TRUE);

$return = curl_exec($sc); 
$sess_err = curl_error($sc);

curl_close($sc);

var_dump($sess_err);

 
○実行例
 
HTTP/1.1 200 OK
Date: Sun, 07 Apr 2013 11:24:01 GMT
Server: Apache/2.2.22 (Win32) PHP/5.4.11
Last-Modified: Sat, 20 Nov 2004 05:16:26 GMT
ETag: “3000000000fba-2c-3e949b99b9e80”
Accept-Ranges: bytes
Content-Length: 44
Content-Type: text/html

モバイルバージョンを終了