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

curl命令用法精简整理

目录

    • 1.GET请求
      • 1.1 形式1:
      • 1.2 形式2:
    • 2.POST请求
      • 2.1 无入参:
      • 2.2 form传参(文件):
      • 2.3 json入参:
      • 2.4 json文件入参:
    • 3.请求计时
      • 3.1 time命令(Linux):
      • 3.2 -w 显示响应时长
    • 4.-s 不显示 %Total% 等统计信息。
    • 5 -v 显示详细请求信息

1.GET请求

1.1 形式1:

curl http://localhost:8080?param1=XXX\&param2=XXX

1.2 形式2:

curl 'http://localhost:8080?param1=XXX&param2=XXX'

注意:如果有多个请求参数,在不使用引号的情况下,连接参数之间的 & 前面要加反斜杠\转义一下,如:\&

2.POST请求

2.1 无入参:

curl -X POST http://localhost:8080

2.2 form传参(文件):

  • file:传文件示例;

  • dirName:传字符串示例。

curl -X POST -F 'file=@/tmp/test.txt' -F 'dirName="/tmp"' http://localhost:8080/upload

2.3 json入参:

curl -H 'Content-Type:application/json' -X POST -d '{"param1":123,"param2":"hello"}' http://localhost:8080

2.4 json文件入参:

curl -H 'Content-Type:application/json' -X POST -d @test.json http://localhost:8080

3.请求计时

3.1 time命令(Linux):

time 命令是Linux系统命令,用于测量一个命令的运行时间。

  • real 实际使用时间(real time)
  • user 用户态使用时间(the process spent in user mode)
  • sys 内核态使用时间(the process spent in kemel mode)
time curl http://localhost:8080

执行结果:

real    0m0.167s
user    0m0.000s
sys     0m0.031s

3.2 -w 显示响应时长

-w 参数,操作完成后在返回信息尾部追加指定的内容。要追加的内容可以是字符串,也可以是相应信息的相关变量。

  • time_namelookup: DNS 服务器域名解析的时间;
  • time_connect: client 发出请求,到 c/s 建立TCP 的时间;里面包括 DNS 解析的时间;
  • time_starttransfer: client 发出请求;到 server 响应发出第一个字节开始的时间;包括前面的2个时间;
  • time_total: 请求发起到链接关闭总耗时。

使用示例:

curl -X GET -w "\ntime_namelookup:%{time_namelookup}\ntime_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n"  "https://www.baidu.com"# time_namelookup: DNS 服务器域名解析的时间
# time_connect: client 发出请求,到 c/s 建立TCP 的时间;里面包括 DNS 解析的时间
# time_starttransfer: client 发出请求;到 server 响应发出第一个字节开始的时间;包括前面的2个时间 
# time_total: 请求发起到链接关闭总耗时

执行结果:

time_namelookup:0.013070
time_connect: 0.018061
time_starttransfer: 0.047114
time_total: 0.047276

4.-s 不显示 %Total% 等统计信息。

-s 参数,安静模式,不显示 %Total% 等统计信息。

使用示例:

curl -s http://localhost:8080

5 -v 显示详细请求信息

-v参数,可以显示一次http通信的整个过程,包括端口连接和http request头信息。

使用示例:

curl -x http://localhost:8080

执行结果:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 182.61.200.7:80...
* Connected to www.baidu.com (182.61.200.7) port 80 (#0)
> GET / HTTP/1.1
> Host: www.baidu.com
> User-Agent: curl/7.87.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Accept-Ranges: bytes
< Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
< Connection: keep-alive
< Content-Length: 2381
< Content-Type: text/html
< Date: Sat, 11 Feb 2023 08:17:52 GMT
< Etag: "588604c8-94d"
< Last-Modified: Mon, 23 Jan 2017 13:27:36 GMT
< Pragma: no-cache
< Server: bfe/1.0.8.18
< Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
<
{ [2381 bytes data]
100  2381  100  2381    0     0  91739      0 --:--:-- --:--:-- --:--:--  101k

整理完毕,完结撒花~





参考地址:

1.Linux curl命令最全详解,https://blog.csdn.net/wuhuagu_wuhuaguo/article/details/90764856#t1

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

相关文章:

  • Fluent Python 笔记 第 5 章 一等函数
  • 卡尔曼滤波器与DSP实现
  • 引入QQ邮箱发送验证码进行安全校验
  • 【c++】数组
  • 线程池的简单实现:Java线程池初学者必读指南
  • 【C#】[带格式的字符串] 复合格式设置字符串与使用 $ 的字符串内插 | 如何格式化输出字符串
  • Lecture4 反向传播(Back Propagation)
  • Power BI 筛选器函数---Window实例详解
  • 基础篇—如何创建css样式表,并集成到html文件中?
  • WindowsServer服务器系列:部署FTP文件服务
  • 华为OD机试 - 数字加减游戏(Python)| 真题+思路+代码
  • 【c/c++】c语言的自增操作在不同编译器的差别
  • 【LeetCode第 332 场周赛】
  • 【蓝桥杯单片机】Keil5中怎么添加STC头文件;从烧录软件中添加显示添加成功后新建工程时依旧找不到
  • 图解浏览器渲染页面详细过程
  • 多线程面试题开胃菜1(5道)
  • 植物育种中广义遗传力的定义
  • 西瓜书读书笔记—绪论
  • ES8——Generator函数的使用
  • 德馨食品冲刺A股上市:计划募资9亿元,林志勇为实际控制人
  • 湿敏电阻的原理,结构,分类与应用总结
  • 千锋教育嵌入式物联网教程之系统编程篇学习-03
  • 升级到https
  • 【C语言】数据结构-二叉树
  • c++中std::condition_variable最全用法归纳
  • Python数据可视化:数据关系图表可视化
  • Urho3D约定
  • python数据结构-列表,元组
  • Properties类读配置文件、修改配置文件
  • 图解LeetCode——剑指 Offer 24. 反转链表