curl_getinfo
(PHP 4 >= 4.0.4, PHP 5, PHP 7)
curl_getinfo — Get information regarding a specific transfer
설명
mixed curl_getinfo
(
resource $ch
[,
int $opt = 0
] )
인수
-
ch
-
curl_init()가
반환한 cURL 핸들입니다.
-
opt
-
This may be one of the following constants:
-
CURLINFO_EFFECTIVE_URL - Last effective URL
-
CURLINFO_HTTP_CODE - Last received HTTP code
-
CURLINFO_FILETIME - Remote time of the retrieved document, if -1 is returned the time of the document is unknown
-
CURLINFO_TOTAL_TIME - Total transaction time in seconds for last transfer
-
CURLINFO_NAMELOOKUP_TIME - Time in seconds until name resolving was complete
-
CURLINFO_CONNECT_TIME - Time in seconds it took to establish the connection
-
CURLINFO_PRETRANSFER_TIME - Time in seconds from start until just before file transfer begins
-
CURLINFO_STARTTRANSFER_TIME - Time in seconds until the first byte is about to be transferred
-
CURLINFO_REDIRECT_COUNT - Number of redirects, with the CURLOPT_FOLLOWLOCATION option enabled
-
CURLINFO_REDIRECT_TIME - Time in seconds of all redirection steps before final transaction was started, with the CURLOPT_FOLLOWLOCATION option enabled
-
CURLINFO_REDIRECT_URL - With the CURLOPT_FOLLOWLOCATION option disabled: redirect URL found in the last transaction, that should be requested manually next. With the CURLOPT_FOLLOWLOCATION option enabled: this is empty. The redirect URL in this case is available in CURLINFO_EFFECTIVE_URL
-
CURLINFO_PRIMARY_IP - IP address of the most recent connection
-
CURLINFO_PRIMARY_PORT - Destination port of the most recent connection
-
CURLINFO_LOCAL_IP - Local (source) IP address of the most recent connection
-
CURLINFO_LOCAL_PORT - Local (source) port of the most recent connection
-
CURLINFO_SIZE_UPLOAD - Total number of bytes uploaded
-
CURLINFO_SIZE_DOWNLOAD - Total number of bytes downloaded
-
CURLINFO_SPEED_DOWNLOAD - Average download speed
-
CURLINFO_SPEED_UPLOAD - Average upload speed
-
CURLINFO_HEADER_SIZE - Total size of all headers received
-
CURLINFO_HEADER_OUT - The request string sent. For this to
work, add the CURLINFO_HEADER_OUT option to the handle by calling
curl_setopt()
-
CURLINFO_REQUEST_SIZE - Total size of issued requests, currently only for HTTP requests
-
CURLINFO_SSL_VERIFYRESULT - Result of SSL certification verification requested by setting CURLOPT_SSL_VERIFYPEER
-
CURLINFO_CONTENT_LENGTH_DOWNLOAD - content-length of download, read from Content-Length: field
-
CURLINFO_CONTENT_LENGTH_UPLOAD - Specified size of upload
-
CURLINFO_CONTENT_TYPE - Content-Type: of the requested document, NULL indicates server did not send valid Content-Type: header
-
CURLINFO_PRIVATE - Private data associated with this cURL handle, previously set with the CURLOPT_PRIVATE option of curl_setopt()
반환값
If opt is given, returns its value.
Otherwise, returns an associative array with the following elements
(which correspond to opt), or FALSE on failure:
-
"url"
-
"content_type"
-
"http_code"
-
"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"
-
"certinfo"
-
"primary_ip"
-
"primary_port"
-
"local_ip"
-
"local_port"
-
"redirect_url"
-
"request_header" (This is only set if the
CURLINFO_HEADER_OUT
is set by a previous call to curl_setopt())
Note that private data is not included in the associative array and must be retrieved individually with the
CURLINFO_PRIVATE option.
예제
Example #1 curl_getinfo() example
<?php
// Create a curl handle
$ch = curl_init('http://www.yahoo.com/');
// Execute
curl_exec($ch);
// Check if any error occurred
if(!curl_errno($ch))
{
$info = curl_getinfo($ch);
echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url'];
}
// Close handle
curl_close($ch);
?>
주의
Note:
Information gathered by this function is kept if the handle is re-used. This means
that unless a statistic is overridden internally by this function, the previous info
is returned.