首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

curl_getinfo

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

curl_getinfo - 获取有关特定传输的信息

描述

代码语言:javascript
复制
mixed curl_getinfo ( resource $ch [, int $opt ] )

获取有关上次传输的信息。

参数

ch

由curl_init()返回的cURL句柄。

opt

这可能是以下常量之一:

  • CURLINFO_EFFECTIVE_URL - 上次有效的网址
  • CURLINFO_HTTP_CODE - 最后收到的HTTP代码
  • CURLINFO_FILETIME- 检索到的文档的远程时间,CURLOPT_FILETIME启用; 如果返回-1,则文档的时间是未知的
  • CURLINFO_TOTAL_TIME - 上次传输的总交易时间,以秒为单位
  • CURLINFO_NAMELOOKUP_TIME - 以秒为单位的时间,直到名称解析完成
  • CURLINFO_CONNECT_TIME - 建立连接所用的时间
  • CURLINFO_PRETRANSFER_TIME - 从开始到文件传输开始之前的秒数
  • CURLINFO_STARTTRANSFER_TIME - 以秒为单位的时间,直到第一个字节即将传输
  • CURLINFO_REDIRECT_COUNT- 重定向的数量,并CURLOPT_FOLLOWLOCATION启用该选项
  • CURLINFO_REDIRECT_TIME- 启动最终交易前所有重定向步骤的时间(以秒为单位),并CURLOPT_FOLLOWLOCATION启用该选项
  • CURLINFO_REDIRECT_URL- 通过CURLOPT_FOLLOWLOCATION禁用选项:在最近的交易中找到的重定向网址,应该在下一步手动请求。CURLOPT_FOLLOWLOCATION启用该选项:这是空的。这种情况下的重定向网址可在CURLINFO_EFFECTIVE_URL
  • CURLINFO_PRIMARY_IP - 最近连接的IP地址
  • CURLINFO_PRIMARY_PORT - 最近连接的目标端口
  • CURLINFO_LOCAL_IP - 最近连接的本地(源)IP地址
  • CURLINFO_LOCAL_PORT - 最近连接的本地(源)端口
  • CURLINFO_SIZE_UPLOAD - 上传的字节总数
  • CURLINFO_SIZE_DOWNLOAD - 下载的总字节数
  • CURLINFO_SPEED_DOWNLOAD - 平均下载速度
  • CURLINFO_SPEED_UPLOAD - 平均上传速度
  • CURLINFO_HEADER_SIZE - 收到的所有标题的总大小
  • CURLINFO_HEADER_OUT - 发送请求字符串。为此,CURLINFO_HEADER_OUT通过调用curl_setopt()将选项添加到句柄中
  • CURLINFO_REQUEST_SIZE - 已发出请求的总大小,目前仅用于HTTP请求
  • CURLINFO_SSL_VERIFYRESULT - 通过设置请求的SSL认证验证结果 CURLOPT_SSL_VERIFYPEER
  • CURLINFO_CONTENT_LENGTH_DOWNLOAD- 下载的内容长度,从Content-Length:字段中 读取
  • CURLINFO_CONTENT_LENGTH_UPLOAD - 指定的上传大小
  • CURLINFO_CONTENT_TYPE- 内容类型:所请求的文件。NULL表示服务器未发送有效的Content-Type:标头
  • CURLINFO_PRIVATE- 与此cURL句柄相关联的专用数据,以前使用CURLOPT_PRIVATEcurl_setopt()的选项 设置
  • CURLINFO_RESPONSE_CODE - 最后一个响应代码
  • CURLINFO_HTTP_CONNECTCODE - CONNECT响应代码
  • CURLINFO_HTTPAUTH_AVAIL - 根据先前的响应指示可用的认证方法的位掩码
  • CURLINFO_PROXYAUTH_AVAIL - 根据先前的响应,指示可用的代理认证方法的位掩码
  • CURLINFO_OS_ERRNO - 来自连接失败的Errno。该数字是OS和系统特定的。
  • CURLINFO_NUM_CONNECTS - 卷曲必须创建的连接数量才能实现前一次传输
  • CURLINFO_SSL_ENGINES - 支持OpenSSL加密引擎
  • CURLINFO_COOKIELIST - 所有已知的cookies
  • CURLINFO_FTP_ENTRY_PATH - FTP服务器中的输入路径
  • CURLINFO_APPCONNECT_TIME - 从启动到SSL / SSH连接/握手到远程主机完成所花费的时间(以秒为单位)
  • CURLINFO_CERTINFO - TLS证书链
  • CURLINFO_CONDITION_UNMET - 有关未满足时间的信息
  • CURLINFO_RTSP_CLIENT_CSEQ - 下一个RTSP客户端CSeq
  • CURLINFO_RTSP_CSEQ_RECV - 最近收到的CSeq
  • CURLINFO_RTSP_SERVER_CSEQ - 下一个RTSP服务器CSeq
  • CURLINFO_RTSP_SESSION_ID - RTSP会话ID

返回值

如果opt给出,则返回其值。否则,返回一个带有以下元素(对应于opt)的关联数组,或FALSE失败时:

  • "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”(只有CURLINFO_HEADER_OUT在前一次调用curl_setopt()时才设置)

请注意,私人数据不包含在关联数组中,必须单独使用该CURLINFO_PRIVATE选项进行检索。

更新日志

描述

5.5.0

介绍CURLINFO_RESPONSE_CODE,CURLINFO_HTTP_CONNECTCODE,CURLINFO_HTTPAUTH_AVAIL,CURLINFO_PROXYAUTH_AVAIL,CURLINFO_OS_ERRNO,CURLINFO_NUM_CONNECTS,CURLINFO_SSL_ENGINES,CURLINFO_COOKIELIST,CURLINFO_FTP_ENTRY_PATH,CURLINFO_APPCONNECT_TIME,CURLINFO_CONDITION_UNMET,CURLINFO_RTSP_CLIENT_CSEQ,CURLINFO_RTSP_CSEQ_RECV,CURLINFO_RTSP_SERVER_CSEQ和CURLINFO_RTSP_SESSION_ID。

5.4.7

引入了CURLINFO_PRIMARY_IP,CURLINFO_PRIMARY_PORT,CURLINFO_LOCAL_IP和CURLINFO_LOCAL_PORT。

5.3.7

引入了CURLINFO_REDIRECT_URL。

5.3.0

介绍了CURLINFO_CERTINFO。

5.2.4

介绍了CURLINFO_PRIVATE。

5.1.3

介绍了CURLINFO_HEADER_OUT。

例子

Example #1 curl_getinfo() example

代码语言:javascript
复制
<?php
//?Create?a?cURL?handle
$ch?=?curl_init('http://www.example.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'],?"\n";
}

//?Close?handle
curl_close($ch);
?>

Example #2 curl_getinfo() example with opt parameter

代码语言:javascript
复制
<?php
//?Create?a?cURL?handle
$ch?=?curl_init('http://www.example.com/');

//?Execute
curl_exec($ch);

//?Check?HTTP?status?code
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";
??}
}

//?Close?handle
curl_close($ch);
?>

注意

注意:如果手柄重新使用,则通过此功能收集的信息将保留。这意味着除非统计信息被该函数内部覆盖,否则返回先前的信息。

← curl_file_create

curl_init →

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com