我有一个web服务,它接收JSON格式的数据,处理数据,然后将结果返回给请求者。
我想使用curl
度量请求、响应和总时间。
我的示例请求如下所示:
curl -X POST -d @file server:port
目前我在Linux中使用time
命令来度量这个值:
time curl -X POST -d @file server:port
但是time命令只测量总时间--这不是我想要的。
是否有任何方法可以使用curl
来度量请求和响应时间?
答案如下:
curl -X POST -d @file server:port -w %{time_connect}:%{time_starttransfer}:%{time_total}
与-w
一起使用的所有变量都可以在man curl
中找到。
从这篇精彩的博客文章...https://blog.josephscott.org/2011/10/14/Timing-Details-with-curl/
对于请求的详细信息,cURL支持格式化输出(有关详细信息,请参见cURL手册页,位于-w,-write-out
)。出于我们的目的,我们将只关注提供的时间细节。下面的时间是以秒为单位的。
>
创建一个新文件curl-format.txt,并粘贴到:
time_namelookup: %{time_namelookup}s\n
time_connect: %{time_connect}s\n
time_appconnect: %{time_appconnect}s\n
time_pretransfer: %{time_pretransfer}s\n
time_redirect: %{time_redirect}s\n
time_starttransfer: %{time_starttransfer}s\n
----------\n
time_total: %{time_total}s\n
提出请求:
curl -w "@curl-format.txt" -o /dev/null -s "http://wordpress.com/"
或者在窗户上,那是...
curl -w "@curl-format.txt" -o NUL -s "http://wordpress.com/"
-w“@curl-format.txt”
告诉cURL使用我们的格式文件-o/dev/null
将请求的输出重定向到/dev/null-s
告诉cURL不要显示进度表“http://wordpress.com/”
是我们请求的URL。如果URL具有“&”查询字符串参数,请特别使用引号
time_namelookup: 0.001s
time_connect: 0.037s
time_appconnect: 0.000s
time_pretransfer: 0.037s
time_redirect: 0.000s
time_starttransfer: 0.092s
----------
time_total: 0.164s
alias curltime="curl -w \"@$HOME/.curl-format.txt\" -o /dev/null -s "
然后你就可以直接打电话...
curltime wordpress.org
感谢评论员皮特·道尔!
此脚本不需要单独的.txt文件来包含格式。
在可执行文件路径的某个位置创建一个新文件curltime,并粘贴到:
#!/bin/bash
curl -w @- -o /dev/null -s "$@" <<'EOF'
time_namelookup: %{time_namelookup}\n
time_connect: %{time_connect}\n
time_appconnect: %{time_appconnect}\n
time_pretransfer: %{time_pretransfer}\n
time_redirect: %{time_redirect}\n
time_starttransfer: %{time_starttransfer}\n
----------\n
time_total: %{time_total}\n
EOF
使用与别名相同的方式html" target="_blank">调用:
curltime wordpress.org
将此命令放在curltime.bat中(与curl.exe放在同一文件夹中)
curl -w "@%~dp0curl-format.txt" -o NUL -s %*
然后你就可以直接打电话...
curltime wordpress.org
本文向大家介绍使用Curl命令查看请求响应时间方法,包括了使用Curl命令查看请求响应时间方法的使用技巧和注意事项,需要的朋友参考一下 curl命令查看请求响应时间 -o:把curl 返回的html、js 写到垃圾回收站[ /dev/null] -s:去掉所有状态 -w:按照后面的格式写出rt time_namelookup:DNS 解析域名www.36nu.com的时间 time_commect
请帮帮我。 多谢了。
问题内容: 我有一个简单的代码,可为文本文件(url_list.txt)中列出的每个URL打印GET响应时间。 当顺序触发请求时,返回的时间对应于各个URL的预期响应时间。 但是,当同时执行相同的代码时,返回的响应时间通常比预期的要高。 看来我在http.Get(url)调用之前捕获的 time_start 并不是实际发送请求的时间。我猜http.Get(url)的执行排队了一段时间。 使用gor
问题内容: 我正在用PHP构建一个REST Web服务客户端,此刻我正在使用curl来向该服务发出请求。 如何使用curl发出经过身份验证的请求(http基本)?我必须自己添加标题吗? 问题答案: 你要这个: Zend有一个REST客户端和zend_http_client,我敢肯定PEAR有某种包装。但是它很容易自己完成。 因此,整个请求可能如下所示:
我在一个小型LINUX项目中工作,计算CURL和远程网站的请求延迟。 所以我做了一个外壳脚本来自动向远程Apache Webserver发送GET请求。在访问Apache的access.log时,我只找到来自CURL的请求仅由apache接收的时间。 是否也可以将CURL请求的日期发送到apache服务器?(时间戳) 谢谢
问题内容: 我需要为我们对服务(而非Web服务)发出的Http请求设置超时。我们正在使用Apache HTTP客户端。我添加了这两行代码,以根据请求和对服务的响应设置超时时间。 1)目前,我已将超时设置为10秒,因为我几乎立即从服务中看到了响应。我应该增加还是减少时间? 2)如果响应时间超过10秒,会发生什么?它会抛出异常吗?它将是什么异常?我还需要添加其他内容来设置以下代码中的超时时间。 问题答