PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

curl_init> <curl_exec
Last updated: Sun, 25 Nov 2007

view this page in

curl_getinfo

(PHP 4 >= 4.0.4, PHP 5)

curl_getinfo — Získať informácie ohľadne špecifického prenosu

Popis

string curl_getinfo ( resource $ch [, int $opt ] )

Vracia informácie o poslednom prenose, opt môže byť jedno z následujúcich:

  • "CURLINFO_EFFECTIVE_URL" - Posledná efektívna URL
  • "CURLINFO_HTTP_CODE" - Posledný prijatý HTTP kód
  • "CURLINFO_FILETIME" - Vzdialený čas prijatého dokumentu, ak sa vráti -1, čas dokumentu nie je známy
  • "CURLINFO_TOTAL_TIME" - Celkový čas transakcie v sekundách pre posledný prenos
  • "CURLINFO_NAMELOOKUP_TIME" - Čas v sekundách pokým sa dokončí preberanie názvu
  • "CURLINFO_CONNECT_TIME" - Čas v sekundách, ktorý bol potrebný na vytvorenie spojenia
  • "CURLINFO_PRETRANSFER_TIME" - Čas v sekundách od začiatku po počiatok prenosu súboru
  • "CURLINFO_STARTTRANSFER_TIME" - Čas v sekundách do prenosu prvého bytu
  • "CURLINFO_REDIRECT_TIME" - Čas v sekundách všetkých krokov presmerovania pred začatím konečnej transakcie
  • "CURLINFO_SIZE_UPLOAD" - Celkový počet uploadovaných bytov
  • "CURLINFO_SIZE_DOWNLOAD" - Celkový počet downloadovaných bytov
  • "CURLINFO_SPEED_DOWNLOAD" - Priemerná rýchlosť downloadovania
  • "CURLINFO_SPEED_UPLOAD" - Priemerná rýchlosť uploadovania
  • "CURLINFO_HEADER_SIZE" - Total size of all headers received
  • "CURLINFO_REQUEST_SIZE" - Celková veľkosť vydaných požiadaviek, momentálne len pre HTTP požiadavky
  • "CURLINFO_SSL_VERIFYRESULT" - Výsledok overenia SSL certifikácie požadovanej nastavením CURLOPT_SSL_VERIFYPEER
  • "CURLINFO_CONTENT_LENGTH_DOWNLOAD" - content-length of download, read from Content-Length: field
  • "CURLINFO_CONTENT_LENGTH_UPLOAD" - Určená veľkosť uploadu
  • "CURLINFO_CONTENT_TYPE" - Obsah-typ sťahovaného objektu, NULL indukuje, že server neposlal platný Content-Type: hlavička

Ak sa volá bez voliteľného parametra opt, vráti sa asiciatívne pole s následujúcimi prvkami poľa, ktoré sa zhodujú s voľbami opt :

  • "url"
  • "content_type"
  • "http_encode"
  • "header_size"
  • "request_size"
  • "filetime"
  • "ssl_verify_result"
  • "redirect_count"
  • "total_time"
  • "namelookup_time"
  • "connect_time"
  • "pretransfer_time"
  • "size_upload"
  • "size_download"
  • "speed_download"
  • "speed_upload"
  • "download_content_length"
  • "upload_content_length"
  • "starttransfer_time"
  • "redirect_time"



curl_init> <curl_exec
Last updated: Sun, 25 Nov 2007
 
add a note add a note User Contributed Notes
curl_getinfo
nemetral
17-Jun-2008 07:57
Just a quick note: if you want to use curl_getinfo() with option CURLINFO_HEADER_OUT in order to debug your cURL request, you must add curl_setopt($handle, CURLINFO_HEADER_OUT, true); first while specifying the options.
luiheidsgoeroe at hotmail dot com
04-Feb-2008 03:02
Keep in mind that for CURLOPT_RETURNTRANSFER it has to be set with curl_setopt() before execution:

This doesn't work:
<?php
$ch
= curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
var_dump(curl_getinfo($ch,CURLINFO_HEADER_OUT));
?>

This works:
<?php
$ch
= curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_exec($ch);
var_dump(curl_getinfo($ch,CURLINFO_HEADER_OUT));
?>
Mark Evers
16-Jan-2008 10:14
There is a constant missing from that list.  CURLINFO_REDIRECT_COUNT will give you the number of redirects it went through if CURLOPT_FOLLOWLOCATION was set.
ssttoo at hotmail dot com
06-Apr-2004 12:13
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']];
    }

}
?>
12-Sep-2002 02: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

curl_init> <curl_exec
Last updated: Sun, 25 Nov 2007
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites