(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
curl_getinfo — 获取一个cURL连接资源句柄的信息
如果指定 option,将返回它的值。否则将返回包含下列元素的关联数组(分别对应 option),失败时为 false:
CURLINFO_HEADER_OUT 后才会设置)
CURLINFO_PRIVATE 选项单独检索。
| 版本 | 说明 |
|---|---|
| 8.4.0 |
引入 CURLINFO_POSTTRANSFER_TIME_T 常量和 posttransfer_time_us(Curl 8.10.0 或更高版本)。
|
| 8.3.0 |
引入 CURLINFO_CAINFO 和 CURLINFO_CAPATH。
|
| 8.2.0 |
引入 CURLINFO_PROXY_ERROR、CURLINFO_REFERER、CURLINFO_RETRY_AFTER。
|
| 8.0.0 |
handle 现在接受 CurlHandle
实例;之前接受 resource。
|
| 8.0.0 |
option 现在可为 null;之前默认值是 0。
|
| 7.3.0 |
引入 CURLINFO_CONTENT_LENGTH_DOWNLOAD_T、CURLINFO_CONTENT_LENGTH_UPLOAD_T、 CURLINFO_HTTP_VERSION、CURLINFO_PROTOCOL、CURLINFO_PROXY_SSL_VERIFYRESULT、CURLINFO_SCHEME、CURLINFO_SIZE_DOWNLOAD_T、CURLINFO_SIZE_UPLOAD_T、CURLINFO_SPEED_DOWNLOAD_T、CURLINFO_SPEED_UPLOAD_T、CURLINFO_APPCONNECT_TIME_T、CURLINFO_CONNECT_TIME_T、CURLINFO_FILETIME_T、CURLINFO_NAMELOOKUP_TIME_T、CURLINFO_PRETRANSFER_TIME_T、CURLINFO_REDIRECT_TIME_T、CURLINFO_STARTTRANSFER_TIME_T、CURLINFO_TOTAL_TIME_T。
|
示例 #1 curl_getinfo() 示例
<?php
// 创建 cURL 句柄
$ch = curl_init('http://www.example.com/');
// 执行
curl_exec($ch);
// 检查是否有错误发生
if (!curl_errno($ch)) {
$info = curl_getinfo($ch);
echo 'Took ', $info['total_time'], ' seconds to send a request to ', $info['url'], "\n";
}
// 关闭句柄
curl_close($ch);
?>
示例 #2 使用 option 参数的 curl_getinfo() 示例
<?php
// 创建 cURL 句柄
$ch = curl_init('http://www.example.com/');
// 执行
curl_exec($ch);
// 检测 HTTP 状态码
if (!curl_errno($ch)) {
switch ($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) {
case 200: # OK
break;
default:
echo 'Unexpected HTTP code: ', $http_code, "\n";
}
}
// 关闭句柄
curl_close($ch);
?>注意:
如果重新使用句柄,则保留此函数收集的信息。这意味着除非此函数在内部覆盖统计信息,否则将返回以前的信息。