怎么样用curl命令探测一个网址,返回指定信息,并格式化输出?
# curl --help
# man curl
命令行中用curl 获取HTTP返回的状态码
# curl -I -m 10 -o /dev/null -s -w %{http_code} https://www.baidu.com
# curl -sL -w "http_code:%{http_code} content_type:%{content_type}" -o /dev/null http://www.guokr.com
注:格式参数可以使用“\n”、“\r”、“\t”等制表符
这篇文章里列出了-w 参数的变量,用法应该一样,需要的话自行尝试。
用curl查看http请求各阶段响应时间
# curl -o /dev/null -s -w "time_namelookup:%{time_namelookup}\ntime_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "https://www.example.com"
curl 命令参数解释:
-o: 把curl 返回的html、js 写到垃圾回收站[ /dev/null]
-s: 去掉所有状态
-w: 按照后面的格式写出rt
time_namelookup: DNS 解析时间,从请求开始到 DNS 解析完毕所用时间,单位为秒,如果测试的地址为IP,这里耗时即为0
time_connect: client 和 server 端建立 TCP 连接的时间,此连接时间从开始到建立TCP连接完成所用时间,包括前边DNS解析时间,如果需要单纯的得到连接时间,用这个 time_connect 时间减去前边 time_namelookup 时间
time_starttransfer: 从 client 发出请求;到 web server 响应第一个字节的时间
time_total: client 发出请求;到 web server 发送回所有的相应数据的时间
参考
用curl 获取HTTP返回状态码
https://www.jianshu.com/p/c286f9c25c94
curl命令获取站点的各类响应时间
https://www.cnblogs.com/ttyypjt/p/11491554.html
使用curl命令查看 http 请求各阶段响应时间
https://blog.csdn.net/wuhendadi/article/details/100101289
使用curl获取访问网站的状态码
https://sample.blog.csdn.net/article/details/73292535
https://www.cnblogs.com/boundless-sky/p/13344840.html
curl extract info from verbose mode
https://khanhicetea.com/til/2018-08-07-curl-extract-info-from-verbose-mode
curl_stats.sh
https://gist.github.com/n8foo/1951192
HTTP事务时间细分
https://stackoom.com/question/2stDT/HTTP%E4%BA%8B%E5%8A%A1%E6%97%B6%E9%97%B4%E7%BB%86%E5%88%86
Browser-Independent Client HTTP Resource Timing Measurement Tool
https://stackoverflow.com/questions/19342118/browser-independent-client-http-resource-timing-measurement-tool
Showing the total of the loaded time of the page
https://www.wikicoode.com/index.php/magento2/showing-total-loaded-time-page