curl https:// [2409:871e:0:1::103] -H host:en.sge.com.cn -w %{http_code}:%{time_total} -o /dev/null -s -m 5 -k --insecure
curl https://en.sge.com.cn -w %{http_code}:%{time_total} -o /dev/null -s -m 5 -k --insecure --ipv6
这个指令是使用curl命令来执行一个HTTP请求,以下是各个参数的解释:
https:// [2409:871e:0:1::103]:这是请求的URL,其中包含了一个IPv6地址。
-H host:en.sge.com.cn:这是HTTP头信息,其中指定了请求的主机名。
-w %{http_code}:%{time_total}:这是用于输出请求结果的格式化字符串,其中%{http_code}表示HTTP状态码,%{time_total}表示总请求时间。
-o /dev/null:这是将请求结果输出到空设备文件,即不保存返回结果。
-s:这是用于禁止curl输出错误和进度信息的选项。
-m 5:这是设置请求超时时间为5秒。
-k:这是用于允许不安全的SSL连接的选项。
–insecure:这是用于允许不安全的SSL连接的选项。
–ipv6 : 强制使用IPV6解析
使用 --noproxy ‘’ 选项可以禁用curl的DNS缓存,这将强制curl在每个请求中使用新的DNS解析。这是因为DNS缓存是由curl的代理服务器或本地系统维护的,而不是由curl本身维护的。如果您禁用代理服务器并使用 --noproxy '’ 选项,则curl将不会使用代理服务器或本地系统的DNS缓存。这可以确保在每个请求中都使用新的DNS解析
可以在curl命令中指定要使用的DNS服务器来帮助解析域名。您可以使用 --dns-servers 选项来指定一个或多个DNS服务器的IP地址。
例如,以下命令将使用Google的DNS服务器(8.8.8.8)来解析域名:
curl --dns-servers 8.8.8.8 https://example.com
您可以指定多个DNS服务器,以逗号分隔。例如:
curl --dns-servers 8.8.8.8,8.8.4.4 https://example.com
这将使用Google的两个DNS服务器(8.8.8.8和8.8.4.4)来解析域名。请注意,需要具有访问这些DNS服务器的权限才能使用它们。
如果想获取各个时段的时间参数,
可以将-w选项中的%{time_total}替换为
%{time_namelookup},
%{time_connect},
%{time_appconnect},
%{time_pretransfer},
%{time_starttransfer},
%{time_redirect},
%{time_total}
中的任意一个或多个,以获取相应的时间参数。
- time_namelookup: DNS解析时间,即从发起请求到解析出IP地址的时间。
- time_connect: 连接建立时间,即从发起请求到TCP连接建立完成的时间。
- time_appconnect: SSL/SSH等加密连接建立时间,即从发起请求到SSL/SSH等加密连接建立完成的时间。
- time_pretransfer: 从发起请求到接收到第一个字节的时间,包括DNS解析、连接建立和SSL/SSH等加密连接建立等时间。
- time_starttransfer: 从发起请求到接收到第一个字节的时间,不包括DNS解析、连接建立和SSL/SSH等加密连接建立等时间。
- time_redirect: 重定向时间,即从发起请求到最后一个重定向完成的时间。
- time_total: 请求总时间,即从发起请求到接收到最后一个字节的时间。
可参考:
https://blog.csdn.net/michaelwoshi/article/details/113033628