找回密码
 加入怎通
查看: 379|回复: 9

curl常用总结_curl怎么使用

[复制链接]
我来看看 发表于 2023-03-31 11:28:16 | 显示全部楼层 |阅读模式
/ ~9 _" K0 m. G- _/ o# C

作者:Yungacurl 常用总结curl是一个利用URL语法在命令行模式下工作的文件传输工具,是我们经常用到的工具,用得最多的便是用来测试http接口在这里对部分请求的使用方式做一个总结,熟练使用curl后,在不能使用Postman等图形工具的时候,也可以方便的调试自己的接口。

' m0 ]6 n& ]5 p! c; H# R$ v

Hello curlcurl http://test.com/这便是发起一个最简单http请求,不带任何请求参数GETcurl http://test.com/test?param1=a¶ms2=b。

1 B w" ^+ `) p; w: X! E* U

url传参,多个参数使用 & 连接自定义headercurl http://test.com/test -H TEST_HEADER1: hello -H TEST_HEADER2: world使用 -H

% _4 Q# v- V7 s- x( T3 C! i

来传递http请求的header,格式:key:value,如果需要多个header,使用多个 -H 即可POSTcurl可以以5种方式设置POST的内容:--data 通用设置--data-ascii 将对数据进行ASCII编码。

2 u& l5 \1 `' b

--data-binary 直接将传递的数据转为二进制--data-raw 可以上传任意格式的文本,可以上传text、json、xml、html等--data-urlencode 将参数进行url编码例:

$ W! g$ T O; D1 w4 S, i8 f

## application/x-www-form-urlencoded 以键值对方式POST传递参数,curl默认方式 + [6 ^$ r3 X- J+ O6 ~ curl http://test.com/test -d param1=hello¶m2=curl( a' V1 z | r 2 t, C: }2 h" A% p) \ ## 传递JSON字符串% n1 B% u |9 k7 |! x& U curl http://test.com/test --data-raw my name is yunga -H Content-Type: application/json3 S0 y: P8 T4 v3 K1 l 0 A8 Q/ D9 \7 V: M3 M6 E6 {/ d4 a ## 数据需要进行url编码 ! b9 Y% z' A: ?% i! R" d. j0 z curl http://test.com/test --data-urlencode key=a+a+a+

r L2 n) ?9 ~& G' C8 O

根据需要设置不同POST内容传递方式,设置对应的header设置Methodcurl -X PUT http://test.com/test -d param1=hello¶m2=curl可以使用这种方式设置需要的请求方式:GET、POST、PUT、DELETE、OPTION。

4 }. r7 M2 W% q$ I9 U* [

上传文件curl -X POST http://test.com/test -F file=@hello.txt -F "key=what"使用这种方式,Content-Type会被设置为multipart/form-data,通过表单的形式提交文件,需要注意的是文件路径前使用

2 E2 l1 |3 G! L* I0 H# j

@ 来表示这是一个文件路径,否则会作为普通字符串传递,传递文件的同时我们可以传递其他的参数,使用多个 -F 即可忽略https证书验证curl -k -X POST http://test.com/test -F file=@hello.txt -F "key=what"。

( O- `- w* h# W. a! }1 g$ m* c; o# _

使用 -k 选项,使用SSL时允许不安全的服务器连接设置http协议版本使用以下选项来设置请求时http协议版本版本--http0.9--http1.0--http1.1--http2例:curl -X DELETE http://test.com/test -d key=a+a+a+ --http1.0。

, C$ [. ~8 Q; Q

设置cookie## 直接设置cookie 2 U+ f& f, `: |# N5 s0 e4 J curl http://test.com/test --cookie "user=admin;pass=admin" 5 ^; D' h6 x, I+ N( ]& z0 Y' A, u, { ## 保存cookie到文件6 p, f2 d- e$ Q/ d8 } curl -b cookie.txt http://test.com/test! {* Y B' y* W3 @" G0 z( X/ z / \$ z# V. I& p6 Y4 I& u1 d ## 使用cookie文件 4 n. D/ |) p, ?: m/ ~% ? curl -c @cookie.txt http://test.com/test

# P" J4 F+ C0 I& W+ l4 H

打印响应和请求头很多时候我们需要查看响应和请求的头,只需要带上 -v 选项即可例:curl http://test.com/test -d key=a+a+a+ --http1.0 --cookie user=admin;password=root -v$ B" S3 s, _1 Q8 K ``; D- g- s* L! Q: y( C7 d # p2 \# _' D4 D4 L 打印大概如下: / @8 L5 n. B# y3 x0 N ```txt# p# |8 t n; N5 j * Trying ::1...8 {$ I) Z+ S k$ B$ H! o/ j6 I * TCP_NODELAY set ' T# A _( o# h7 |, \# k* m/ k * Connected to localhost (::1) port 10086 (#0)0 n6 ^1 x* l; s4 }2 u4 K) r > POST /test?hello=aaa HTTP/1.0 , e/ n, v0 @/ v% k5 a$ X1 @6 @ > Host: localhost:10086 . k7 E, [3 l1 f* U > User-Agent: curl/7.64.1 $ E: z4 p, l9 A" ]* }; S9 G1 W > Accept: */* 0 Z4 K' _9 z- u0 |6 O& y+ v+ r9 F > Cookie: user=admin;password=root : e& I/ T T6 S' u% W > Content-Length: 10 ( _3 b# u% D. ]6 \; u' g > Content-Type: application/x-www-form-urlencoded/ U/ U# V6 ?5 Q+ o3 v' @3 M# m > 9 Q, ^+ }% A0 W' M * upload completely sent off: 10 out of 10 bytes 0 X) H% |) e# E- [2 v * HTTP 1.0, assume close after body ! l% Z- k7 ]2 e* u4 s6 Q < HTTP/1.0 200 OK $ D5 g9 R. s3 u7 j < Date: Tue, 30 Jun 2020 12:12:48 GMT % v8 k0 ?! c7 o) C) T# _' { < Content-Length: 7 6 M9 h$ Y- Q4 l2 c3 N( v" ^4 W < Content-Type: text/plain; charset=utf-8# {: N; |. l( {) g# \; ^4 E2 C < $ ^2 I+ O7 r2 Y' E * Closing connection 0) u' \. ]' q8 |4 q% n; ^2 s( y9 J success。

& |/ u3 J. _2 J2 H& Z2 _ ~' O8 ?& B4 ^ + d/ X3 Z1 L/ U8 f: G0 w% u, C- P, [% c- w : K- Z5 y0 W; ]3 \

暂时无法加载帖子列表

回复

使用道具 举报

别致滴小伙 发表于 2026-03-04 17:04:50 | 显示全部楼层
蹲了这么久,终于看到有价值的讨论,支持一下!
回复

使用道具 举报

陈丹 发表于 2026-04-18 00:06:09 | 显示全部楼层
学习到了,之前一直没注意过这个点,受教了
回复

使用道具 举报

华华 发表于 2026-07-10 20:20:07 | 显示全部楼层
这个分享太实用了,刚好能用到,感谢楼主!
回复

使用道具 举报

龙仔SEO优化团队 发表于 2026-07-14 22:16:24 | 显示全部楼层
完全赞同,我也是这么认为的,英雄所见略同~
回复

使用道具 举报

weigee 发表于 2026-08-12 08:16:47 | 显示全部楼层
楼主太厉害了,整理得这么详细,必须支持
回复

使用道具 举报

dazade 发表于 2026-08-12 17:43:43 | 显示全部楼层
内容很干货,没有多余的废话,值得反复看
回复

使用道具 举报

小城 发表于 2026-08-21 03:29:34 | 显示全部楼层
刚好遇到类似问题,看完这个帖子心里有底了
回复

使用道具 举报

duskydusky 发表于 2026-08-25 03:30:36 | 显示全部楼层
说得很实在,没有夸大其词,这种真实分享太难得了
回复

使用道具 举报

什么样的人 发表于 2026-08-25 16:20:23 | 显示全部楼层
分析得很透彻,很多细节都说到点子上了~
回复

使用道具 举报

    您需要登录后才可以回帖 登录 | 加入怎通

    本版积分规则

    QQ|手机版|小黑屋|网站地图|真牛社区 ( 苏ICP备2023040716号-2 )

    GMT+8, 2026-9-14 10:12 , Processed in 0.036335 second(s), 25 queries , Gzip On.

    免责声明:本站信息来自互联网,本站不对其内容真实性负责,如有侵权等情况请联系420897364#qq.com(把#换成@)删除。

    Powered by Discuz! X3.5

    快速回复 返回顶部 返回列表