PHP: curl_getinfo - Manual

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: Fri, 26 Jan 2007

view this page in

# curl_getinfo

(PHP 4 >= 4.0.4, PHP 5)

curl_getinfo -- Возвращает информацию о последней операции

## Описание

string curl_getinfo ( resource ch [, int opt] )

Возвращает информацию о последней операции, `opt` может быть одной из следующих констант:

- `CURLINFO_EFFECTIVE_URL` - Последний использованный URL

- `CURLINFO_HTTP_CODE` - Последний полученный код HTTP

- `CURLINFO_FILETIME` - Дата модификации загруженного документа, если она неизвестна, возвращается -1.

- `CURLINFO_TOTAL_TIME` - Полное время выполнения операции в секундах.

- `CURLINFO_NAMELOOKUP_TIME` - Время разрешения имени сервера в секундах.

- `CURLINFO_CONNECT_TIME` - Время, затраченное на установку соединения, в секундах

- `CURLINFO_PRETRANSFER_TIME` - Время, прошедшее от начала операции до готовности к фактической передаче данных, в секундах

- `CURLINFO_STARTTRANSFER_TIME` - Время, прошедшее от начала операции до момента передачи первого байта данных, в секундах

- `CURLINFO_REDIRECT_TIME` - Общее время, затраченное на перенапрвления, в секундах

- `CURLINFO_SIZE_UPLOAD` - Количество байт при закачке

- `CURLINFO_SIZE_DOWNLOAD` - Количество байт при загрузке

- `CURLINFO_SPEED_DOWNLOAD` - Средняя скорость закачки

- `CURLINFO_SPEED_UPLOAD` - Средняя скорость загрузки

- `CURLINFO_HEADER_SIZE` - Суммарный размер всех полученных заголовков

- `CURLINFO_REQUEST_SIZE` - Суммарный размер всех отправленных запросов, в настоящее время используется только для HTTP запросов

- `CURLINFO_SSL_VERIFYRESULT` - Результат проверки SSL сертификата, запрошенной с помощью установки параметра CURLOPT_SSL_VERIFYPEER

- `CURLINFO_CONTENT_LENGTH_DOWNLOAD` - размер загруженного документа, прочитанный из заголовка Content-Length

- `CURLINFO_CONTENT_LENGTH_UPLOAD` - Размер закачиваемых данных

- `CURLINFO_CONTENT_TYPE` - Содержимое полученного заголовка Content-type, или NULL в случае, когда этот заголовок не был получен

При вызове без необязательного аргумента `opt` возвращается ассоциативный массив со следующими индексами, которые соответствуют значениям аргумента `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"

add a note User Contributed Notes
curl_getinfo
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`
add a note
curl_init curl_exec

Last updated: Fri, 26 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 09:32:46 2007 PST