curl 常用命令

通过 curl 检测网站是否开启了 gzip 压缩

curl -H "Accept-Encoding: gzip" -I https://www.guohuawei.com

返回结果:

HTTP/2 200
date: Thu, 30 May 2019 10:22:26 GMT
content-type: text/html; charset=UTF-8
set-cookie: __cfduid=da62a867e8f6cabdd6cfc5b8c606145001559211746; expires=Fri, 29-May-20 10:22:26 GMT; path=/; domain=.guohuawei.com; HttpOnly
x-pingback: http://www.guohuawei.com/action/xmlrpc
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
server: cloudflare
cf-ray: 4deffca51a00962f-SJC
content-encoding: gzip

通过 curl 查看请求响应时间

# curl -o /dev/null -s -w %{time_namelookup}::%{time_connect}::%{time_starttransfer}::%{time_total}::%{speed_download}"\n" http://www.guohuawei.com

0.014::0.015::0.018::0.019::1516256.00

-o:把curl 返回的html、js 写到垃圾回收站[ /dev/null]
-s:去掉所有状态
-w:按照后面的格式写出rt

time_namelookup:DNS 解析域名 www.guohuawei.com 的时间
time_commect:client和server端建立TCP 连接的时间
time_starttransfer:从client发出请求;到web的server 响应第一个字节的时间
time_total:client发出请求;到web的server发送会所有的相应数据的时间
speed_download:下周速度 单位 byte/s

上面这条命令及返回结果可以这么理解:

0.014: DNS 服务器解析 www.guohuawei.com 的时间单位是s
0.015: client发出请求,到c/s 建立TCP 的时间;里面包括DNS解析的时间
0.018: client发出请求;到s响应发出第一个字节开始的时间;包括前面的2个时间
0.019: client发出请求;到s把响应的数据全部发送给client;并关闭connect的时间

1516256.00 :下载数据的速度

建立TCP连接到server返回client第一个字节的时间:0.018s - 0.015s = 0.003s
server把响应数据发送给client的时间:0.019s - 0.018 = 0.01s

使用 curl post 数据

curl -d "param1=value1&param2=value2" -X POST http://domain.com/api/something
添加新评论