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

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

目录

      • 一、介绍
      • 二、功能
        • 1、-v 输出请求 响应头状态码 响应文本等信息
        • 2、-x 测试代理ip是否能在该网站使用
        • 3、-w 额外输出查看接口请求响应的消耗时间
        • 4、-o 将响应结果存储到文件里面
        • 5、-X post请求测试 (没测成功用的不多)

一、介绍

  • Curl是一个用于发送和接收请求的命令行工具和库,可以用来测试网站能否正常访问、网站URL响应什么状态码、网站响应文本内容、连接接口的请求时间等
  • curl 是常用的命令行工具,用来请求 Web 服务器,它的名字就是客户端(client)的 URL 工具的意思,如果熟练的话,完全可以取代 Postman 这一类的图形界面工具

二、功能

1、-v 输出请求 响应头状态码 响应文本等信息

  • curl -v http://httpbin.org/get
    在这里插入图片描述

2、-x 测试代理ip是否能在该网站使用

  • curl --connect-timeout 5 -x 58.118.19.119:8011 http://httpbin.org/get
    在这里插入图片描述

3、-w 额外输出查看接口请求响应的消耗时间

  • 新建curl-format.txt文件,文件内容如下
    在这里插入图片描述

    \n 
    time_namelookup: %{time_namelookup}\n 
    time_connect: %{time_connect}\n 
    time_appconnect: %{time_appconnect}\n 
    time_pretransfer: %{time_pretransfer}\n 
    time_starttransfer: %{time_starttransfer}\n 
    time_redirect: %{time_redirect}\n 
    time_total: %{time_total}\n 
    \n
    
  • curl输出的时间含义,其中time_total代表整个请求所消耗的时间

    time_namelookup:dns解析总共消耗的时间
    time_connect:从开始dns解析到tcp建联成功之间总共消耗的时间
    time_appconnect:从开始dns解析到ssl握手成功之间总共消耗的时间,以收到Finished包为准。
    time_pretransfer:从开始dns解析到发起http请求之间总共消耗的时间
    time_starttransfer:从开始dns请求到服务器响应首个字节之间总共消耗的时间
    time_total:整个请求所消耗的时间,包含dns解析、tcp握手和ssl握手的时间
    
  • 然后在当前curl-format.txt文件所在路径下,输入命令curl -w "@curl-format.txt" http://httpbin.org/get
    在这里插入图片描述

  • 更多介绍参考文档
    在这里插入图片描述

4、-o 将响应结果存储到文件里面

  • curl -o resp.html http://httpbin.org/get
    在这里插入图片描述

5、-X post请求测试 (没测成功用的不多)

  • post请求类型application/x-www-form-urlencoded,使用-d参数以后,HTTP 请求会自动加上标头Content-Type : application/x-www-form-urlencoded。并且会自动将请求转为 POST 方法,因此可以省略-X POST,链接
    curl  http://11.120.12.89:6666/sengMsg -X POST -d "parameterName1=parameterValue1&parameterName2=parameterValue2"
    
  • post请求类型application/json , 链接
    curl  http://11.120.12.89:6666/sengMsg -X POST -H "Content-Type:application/json" -d '{"parameterName1":"parameterValue1","parameterName2":"parameterValue2"}'
    
  • 更多参考文档:更多介绍参考文档
http://www.lryc.cn/news/164506.html

相关文章:

  • Linux工具——gcc
  • uni-app 使用uCharts-进行图表展示(折线图带单位)
  • 180B参数的Falcon登顶Hugging Face,vs chatGPT 最好开源大模型使用体验
  • 服务器数据恢复-EMC存储磁盘损坏的RAID5数据恢复案例
  • Nginx优化文件上传大小限制
  • navicat SSH连接数据库报错: Putty key format too new
  • 基于大规模MIMO通信系统的半盲信道估计算法matlab性能仿真
  • 自然语言处理学习笔记(九)———— OVV Recall Rate与 IV Recall Rate
  • 区块链正在开启一场回归商业,融合商业的新发展
  • 【软考】系统集成项目管理工程师(三)信息系统集成专业技术知识③
  • js中如何判断一个对象是否为空对象?
  • Linux SysRq 简介
  • Mac版本破解Typora,解决Mac安装软件的“已损坏,无法打开。 您应该将它移到废纸篓”问题
  • elementui el-dialog 动态生成多个,点击按钮打开对应的 dialog
  • 自己开发一个接口文档页面html
  • 信息化发展28
  • React 入门实例教程
  • Window安装Node.js npm appium Appium Desktop
  • Pytorch intermediate(三) RNN分类
  • vue2+webpack升级vue3+vite,修改插件兼容性bug
  • 案例实战-Spring boot Web
  • Spring6.1之RestClient分析
  • 冒泡排序、选择排序、插入排序、希尔排序
  • OpenCV(二十三):中值滤波
  • Prompt Tuning训练过程
  • 装备制造企业是否要转型智能装备后服务型公司?
  • day-49 代码随想录算法训练营(19) 动态规划 part 10
  • 检查文件名是否含不可打印字符的C++代码源码
  • 学习笔记-正则表达式
  • Wireshark TS | 网络路径不一致传输丢包问题