ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

curl -w参数

2022-07-30 13:05:14  阅读:177  来源: 互联网

标签:redirect 请求 参数 connect time curl com appconnect


-w参数的作用:

完成 HTTP 请求后,使用变量改变 标准输出 的信息。

变量的使用方式

  1. 使用 "%{variable_name}" 的格式使用变量
  2. 如果要打印%,需要写成%%,如:"%{variable_name}%%" 
  3. 通过文本文件传入变量,使用@filename的形式

支持的变量(常用的)

content_type:HTTP 请求的 Content-type

errormsg:错误信息

http_code:响应码

local_ip:ip地址,可以是ipv4,也可以是ipv6

remote_ip:目标服务器的远程IP,可以是 ipv4、ipv6

remote_port:目标服务器的远程端口

response_code:和 http_code 一样,都是响应码

size_request:HTTP请求中发送的总字节数

url_effective:最后获取的 URL。如果 curl 添加了 -L 且真的重定向之后,这个就很有用了

-L:获取重定向后的真实地址

-k:忽略HTTPS请求的CA证书

只举一个例子

# curl -w "%{url_effective}" -o /dev/null -s -S -L -k https://www.zhipin.com/job_detail/?ka=header-job
https://www.zhipin.com/web/common/security-check.html?seed=jWHNq2M5c7p9qn9d4E%3D&name=1f49f5f3&ts=1659155053136&callbackUrl=%2Fjob_detail%2F%3Fka%3Dheader-job&srcReferer=

以下变量多用于从文本文件获取请求耗时:

time_namelookup:DNS 域名解析的耗时,就是把 https://abc.com 转换成 ip 地址的过程

time_connect:TCP 连接建立的时间,就是三次握手的时间

time_appconnect:SSL/SSH 等上层协议建立连接的时间,比如 connect/handshake 的时间

time_redirect:在最终事务开始之前,所有重定向步骤(包括名称查找、连接、预传输和传输)所用的时间(以秒为单位)

time_redirect 显示多个重定向的完整执行时间

time_pretransfer:从请求开始到响应开始传输的时间

time_starttransfer:从请求开始到第一个字节将要传输的时间,包括预传输时间和服务器处理结果所需的时间。

time_total:这次请求花费的全部时间

 

从文件获取请求信息分析

# vim a.txt
  
    time_namelookup:  %{time_namelookup}\n
       time_connect:  %{time_connect}\n
    time_appconnect:  %{time_appconnect}\n
      time_redirect:  %{time_redirect}\n
   time_pretransfer:  %{time_pretransfer}\n
 time_starttransfer:  %{time_starttransfer}\n
                    ----------\n
         time_total:  %{time_total}\n

使用

# curl -w "@a.txt" -o /dev/null -sSLk  www.baidu.com
    time_namelookup:  0.013
       time_connect:  0.024
    time_appconnect:  0.000
      time_redirect:  0.000
   time_pretransfer:  0.025
 time_starttransfer:  0.036
                    ----------
         time_total:  0.037

 

标签:redirect,请求,参数,connect,time,curl,com,appconnect
来源: https://www.cnblogs.com/zh-dream/p/16534740.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有