array
'url' => 'http://tc-apptest-zhangmen01.tc.google.com:2580/index.php?sex=male' (length=65)
'content_type' => 'text/html' (length=9)
'http_code' => 302
'header_size' => 169
'request_size' => 256
'filetime' => -1
'ssl_verify_result' => 0
'redirect_count' => 0
'total_time' => 0.005
'namelookup_time' => 0.001
'connect_time' => 0.003
'pretransfer_time' => 0.003
'size_upload' => 0
'size_download' => 211
'speed_download' => 42200
'speed_upload' => 0
'download_content_length' => 211
'upload_content_length' => 0
'starttransfer_time' => 0.005
'redirect_time' => 0
以上是我程序中一条curl_getinfo()语句得出来的信息:
下面分析各个元素表示的信息:
url是这次curl连接的地址,http_code是302,表示这个url地址表示的文件中存在重定向,而redirect_count=0和redirect_time=0表示这次curl连接没有跟踪重定向,这是curl默认的参数设置,如果设置一下:
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
那么curl_getinfo()的信息就会变成这样:
array
'url' => 'http://tc-apptest-zhangmen01.tc.google.com:2580/phpinfo.php' (length=58)
'content_type' => 'text/html' (length=9)
'http_code' => 200
'header_size' => 319
'request_size' => 458
'filetime' => -1
'ssl_verify_result' => 0
'redirect_count' => 1
'total_time' => 0.018
'namelookup_time' => 0
'connect_time' => 0
'pretransfer_time' => 0
'size_upload' => 0
'size_download' => 39333
'speed_download' => 2185166
'speed_upload' => 0
'download_content_length' => 211
'upload_content_length' => 0
'starttransfer_time' => 0.002
'redirect_time' => 0.008
上面的url是从上一个url重定向到的新的url,这个url没有在重定向,因此它的http_code是200,而redirect_count和redirect_time都不再是0.
另外connect_time是建立连接的时间,在我测试了好几次之后发现connect_time总是等于pretransfer_time(这个时间是从一开始到开始传输数据的时间),但是不能就这么判定两者永远相等。那么两者时间会差在哪里呢?因为建立连接后就开始传输数据,因此我估计两者在截至的时间上相同,如果不同的话,估计是在计算时间的开始点上。pretransfer_time是从开始到传输数据,起点是在最开始,而connect_time的定义是连接花费时间,起点是开始连接。想了很长时间也是不明白,请求明白人指点。
nameloopup time是从开始到名字解析花费的时间。
size_upload为什么总是0呢?即使我使用了POST方法传输了数据也还是0,什么情况下才不是0呢?
size_download是页面的content-lenght值,而speed_download是size_download/total_time的出来的。