|
curl_getinfo
Get information regarding a specific transfer
(PHP 4 >= 4.0.4, PHP 5)
Code Examples / Notes » curl_getinfo12-sep-2002 10:02
You can get some documentation about what these values mean in the libcurl C API documentation here: http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html ssttoo
Here are the response codes ready for pasting in an ini-style file. Can be used to provide more descriptive message, corresponding to 'http_code' index of the arrray returned by curl_getinfo(). These are taken from the W3 consortium HTTP/1.1: Status Code Definitions, found at http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html [Informational 1xx] 100="Continue" 101="Switching Protocols" [Successful 2xx] 200="OK" 201="Created" 202="Accepted" 203="Non-Authoritative Information" 204="No Content" 205="Reset Content" 206="Partial Content" [Redirection 3xx] 300="Multiple Choices" 301="Moved Permanently" 302="Found" 303="See Other" 304="Not Modified" 305="Use Proxy" 306="(Unused)" 307="Temporary Redirect" [Client Error 4xx] 400="Bad Request" 401="Unauthorized" 402="Payment Required" 403="Forbidden" 404="Not Found" 405="Method Not Allowed" 406="Not Acceptable" 407="Proxy Authentication Required" 408="Request Timeout" 409="Conflict" 410="Gone" 411="Length Required" 412="Precondition Failed" 413="Request Entity Too Large" 414="Request-URI Too Long" 415="Unsupported Media Type" 416="Requested Range Not Satisfiable" 417="Expectation Failed" [Server Error 5xx] 500="Internal Server Error" 501="Not Implemented" 502="Bad Gateway" 503="Service Unavailable" 504="Gateway Timeout" 505="HTTP Version Not Supported" And an example usage: <?php $ch = curl_init(); // create cURL handle (ch) if (!$ch) { die("Couldn't initialize a cURL handle"); } // set some cURL options $ret = curl_setopt($ch, CURLOPT_URL, "http://mail.yahoo.com"); $ret = curl_setopt($ch, CURLOPT_HEADER, 1); $ret = curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); $ret = curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); $ret = curl_setopt($ch, CURLOPT_TIMEOUT, 30); // execute $ret = curl_exec($ch); if (empty($ret)) { // some kind of an error happened die(curl_error($ch)); curl_close($ch); // close cURL handler } else { $info = curl_getinfo($ch); curl_close($ch); // close cURL handler if (empty($info['http_code'])) { die("No HTTP code was returned"); } else { // load the HTTP codes $http_codes = parse_ini_file("path/to/the/ini/file/I/pasted/above"); // echo results echo "The server responded: <br />"; echo $info['http_code'] . " " . $http_codes[$info['http_code']]; } } ?> |