当前位置: 首页 > news >正文

curl(八)时间和环境变量以及配置

一  时间

①  --connect-timeout  连接超时时间

②  -m | --max-time  数据最大传输时间

-m: 限制curl '完成时间(overall time limit)'-m,--max-time '<seconds>' 整个'交互完成'的超时时间场景: 通过设置'-m'参数,可以避免'请求时间过长'而导致的'超时'错误

curl -m 10  ...

批量测试主机的连通性

二   -w  相关变量

1、'\n' --> '换行'              --> 支持其它的'制表符'2、不同的'curl版本','变量不同'3、通过变量能'判断什么'?

①  -w | --write-out

1、'基本'描述2、'基本'语法

3、下面涉及'变量解读'

②  url_effective

含义:  最终'请求'的url  --> 可能会涉及'多次重定向Location'

③  http_code

同'response_code':  http的响应'状态码'

④  content_type

说明: '请求'的'content_type'

⑤  http_connect

说明: 代理涉及的'CONNECTION'请求的'响应状态码'

⑥  filename_effective

curl 执行结果最终'写入的文件名',当加上了 '-o、-O' 才有'意义'.

⑦  上传和下载

⑧  本地和远程的 ip和端口

⑨  个时间

通过curl命令分析http接口请求各阶段的耗时等

1、time_namelookup  '域名解析'时间

2、time_connect 从'开始到建立TCP连接'完成所用时间
​
TCP 连接建立的时间: 就是'三次握手'的时间解读:1、连接时间,从'0'开始到建立TCP连接完成所用时间,'包括'前边'DNS解析'时间2、如果需要'单纯的得到连接'时间,用这个time_connect时间'减去'前边time_namelookup时间

3、time_appconnection  'SSL/SSH'其记录的值是从'开始请求到应用层协议握手完成'的时间,也就是'从0开始'的一个'时间偏移量'SSL 协议处理时间: 'time_appconnect - time_connect'

4、time_pretransfer  从'开始到准备传输'的时间

5、time_redirect

6、time_starttransfer描述: 发送请求'第一个字节'到到'返回第一个字节'之间的时间 --> '存疑'

 curl时间统计参数time_starttransfer含义以及在文件上传场景下可能的误解

7、time_total说明:总时间,按'秒'计,精确到'小数点后三位'time_total: '整个请求所消耗的时间',包含dns解析、tcp握手和ssl握手的时间

8、低版本curl'不支持'相关变量备注: '报错'信息如下

9、结合'shell'变量

10、以文件的形式,增强'可读性'curl -w "@var.txt" http://www.wzj.com/ceshi

curl -o /dev/null -s -w "\n\nDNS查询时间: %{time_namelookup} TCP建连时间: %{time_connect} SSL建连时间: %{time_starttransfer} 首包响应时间:%{time_starttransfer} 总耗时: %{time_total}\n" https://www.baidu.com

三   curl的配置文件

①  默认行为

说明: 默认不存在'~/.curlrc'此文件

②  -K

-K/–config: 指定'配置'文件,从配置文件中'读取参数'说明: '自定义'加载'配置选项'文件注意: 配置文件的'注释'、'内容格式'-K后接配置文件名,如果使用 '-' 符号,则通过'stdin'输入配置echo "user = user:passwd" | curl -K - https://www.baidu.com

查找顺序: 先'检查CURL_HOME' --> 类Unix系统上,它'还会'尝试从'主目录'中加载.curlrc文件

③  -q

disbale '禁止'加载配置选项文件

使用 curl --resolve 和 http 代理

说明: 通过'--environment'传递变量,可以使用-w '引用变量'

④  代理补充

curl 8.3.0 的 variable

http://www.lryc.cn/news/228848.html

相关文章:

  • K8S知识点(十)
  • Netty实现通信框架
  • 【OpenCV实现图像:用OpenCV图像处理技巧之白平衡算法】
  • 文件包含 [ZJCTF 2019]NiZhuanSiWei1
  • Java网络编程基础内容
  • DevChat:开发者专属的基于IDE插件化编程协助工具
  • Python数据容器之[列表]
  • 大咖直播间”系列直播课第一期——如何抓住HarmonyOS带来的机遇?
  • 跨域:利用JSONP、WebSocket实现跨域访问
  • java项目之戒烟网站(ssm+vue)
  • Redis集群,你真的学会了吗?
  • 手机地磁传感器与常见问题
  • EF Core 数据库映射成实体类
  • 【算法优选】 动态规划之斐波那契数列模型
  • FreeRTOS知识梳理
  • 冒泡排序算法(C++版)
  • 第22章_数据库的设计规范
  • 5. 深度学习——正则化
  • 【链表和顺序表的优缺点】
  • iOS移动应用安全加固:保护您的App免受恶意攻击的重要步骤
  • C# .NET Core API 注入Swagger
  • 家庭安全计划 挑战赛| 溺水预防
  • 飞书开发学习笔记(五)-Python快速开发网页应用
  • 对测试职业发展的思考
  • 博弈论入门
  • php加密解密
  • 基于YOLOv8的输电线路异物识别算法应用
  • win环境Jenkins部署前端项目
  • DDD领域驱动设计模式结构图面向接口编程
  • Ubuntu中安装R语言环境并在jupyter kernel里面增加R kernel