使用curl获取url的dns / connect / send / wait / receive次数

时间:2013-03-17 17:09:47

标签: curl

我需要帮助选择正确的卷曲函数来计算这些东西:

DNS The web browser is looking up DNS information
Connect The web browser is connecting to the server
Send    The web browser is sending data to the server
Wait    The web browser is waiting for data from the server
Receive The web browser is receiving data from the server

例如,如果我有这个网址http://g2.delfi.lt/scms/?g=delfi-fp.css&1362823940,我想获得这些值:

DNS - 443ms
Connect - 589ms
Send - 1ms
Wait - 152ms
Receive - 1ms

我可以使用curl吗?

2 个答案:

答案 0 :(得分:0)

卷曲很容易得到dns,连接time.wait = TOTAL?

答案 1 :(得分:0)

使用curl命令行工具或libcurl,您将需要一些后期处理。

curl会暴露以下时间:

curl_easy_perform()
     |
     |--NAMELOOKUP
     |--|--CONNECT
     |--|--|--APPCONNECT
     |--|--|--|--PRETRANSFER
     |--|--|--|--|--STARTTRANSFER
     |--|--|--|--|--|--TOTAL
     |--|--|--|--|--|--REDIRECT

以编程方式您可以使用:

CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... );

检索它们。详情here

使用 curl cli工具,您可以使用 - 写出选项打印所有上述值 然后,您需要做一些非常简单的数学运算来获得所需的时间增量。