curl命令用法精简整理

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:传字符串示例。

(form传参可以直接将参数拼接到地址后面)

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  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不愿放下技术的小赵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值