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

curl常用总结_curl怎么使用

[复制链接]
我来看看 发表于 2023-03-31 11:28:16 | 显示全部楼层 |阅读模式
4 g) g; c& h: U) A/ g& f4 G* l9 j+ J% W

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

' L. c1 g/ i2 `6 ?+ a

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

1 A0 W( L% n; @9 w

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

. [. @* U% K4 `! n5 P0 }

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

, p5 c, j& ?# J5 P. K

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

( [! g9 q9 G5 R H5 B: k6 Q% _1 F

## application/x-www-form-urlencoded 以键值对方式POST传递参数,curl默认方式# `; J( O' V: b! U7 |. } curl http://test.com/test -d param1=hello¶m2=curl y! g/ N. J7 G3 M* n4 O! e. X9 }( J/ b. f. v' m ## 传递JSON字符串 ' z% P2 _$ q$ i3 j( d, n5 ?, O8 p8 H curl http://test.com/test --data-raw my name is yunga -H Content-Type: application/json s3 n! f0 A9 U/ f1 A/ r* g ! v: |1 S* J- A/ }1 ^! { ## 数据需要进行url编码 s/ ~( v% G- j5 K9 O7 b) a! `/ K curl http://test.com/test --data-urlencode key=a+a+a+

1 [1 A9 x- e, q. Q" R# {

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

w/ N2 A4 p% r9 l6 `8 v4 g. {

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

" x7 |/ T: x4 g4 [$ X; |/ H

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

* X, y. V% W9 x! G3 M) A

使用 -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。

+ {' D! ^ Y) d' ~& `9 B. }

设置cookie## 直接设置cookie 4 n$ s# V7 g# L D% |$ {: U curl http://test.com/test --cookie "user=admin;pass=admin" ' Y( n9 f3 o3 ]$ k( r$ \* u* o! I3 k; ]) \- x# O$ x5 z# h ## 保存cookie到文件7 O1 n; w6 G* Z4 Q curl -b cookie.txt http://test.com/test1 D1 M0 ^0 s. w9 z0 b : p$ j, Y. i8 U ## 使用cookie文件 9 Q) B6 ?$ S1 s: `$ t9 q7 \7 f curl -c @cookie.txt http://test.com/test

& U8 Q' q7 E+ q y( F S

打印响应和请求头很多时候我们需要查看响应和请求的头,只需要带上 -v 选项即可例:curl http://test.com/test -d key=a+a+a+ --http1.0 --cookie user=admin;password=root -v - M- C* X) e5 J9 L ``% H7 s- b/ `: W6 U" E, l * u3 W5 \6 x- n$ T$ t3 h 打印大概如下: - |; C0 o% a0 x ```txt4 t# I" g" E! M- F! Y' T * Trying ::1... 3 e# [; \/ l t! k& ?. l# w * TCP_NODELAY set # n: ^8 i, X! U) P- j * Connected to localhost (::1) port 10086 (#0) 5 {. E; e' ^ D0 y > POST /test?hello=aaa HTTP/1.0! |# ]9 e+ L, H( h > Host: localhost:10086 / {: J- k5 Z; e/ g) A9 Z1 ] > User-Agent: curl/7.64.13 i; f5 D5 L+ e# O > Accept: */*8 |( o! T' |9 ?, O) g > Cookie: user=admin;password=root 9 `- ]! V% {0 W- i* X; J > Content-Length: 102 ]" h7 v% i7 g- k > Content-Type: application/x-www-form-urlencoded7 T. M2 z. t: _ > , U3 Q! J' Q6 t$ [2 p * upload completely sent off: 10 out of 10 bytes + k( K# n$ K/ J6 F4 w' I5 ^2 V * HTTP 1.0, assume close after body8 X( {6 F: S' x$ g0 `# G < HTTP/1.0 200 OK3 T1 @2 m4 U$ w < Date: Tue, 30 Jun 2020 12:12:48 GMT: G9 |) ]0 m$ E; q+ D < Content-Length: 7. y4 {# x U0 A/ o6 C. E4 p K < Content-Type: text/plain; charset=utf-8 ( F7 n% A, U/ H2 ]4 S' ? < 6 o& b, o. `9 j: \) Y, N5 g) E, g * Closing connection 0 b( f. R- b/ Z) e& |! j1 ~) [9 D- T. l7 z success。

2 P" ^ [6 m& h $ ^% C5 T6 O% s8 C( A% m5 q) _7 a; Y+ ?- F$ a) R . `3 Y' s% S/ _- z, u0 w + ]: U5 [" U9 \- \# K* K3 Q9 d

暂时无法加载帖子列表

回复

使用道具 举报

别致滴小伙 发表于 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:14 , Processed in 0.038737 second(s), 25 queries , Gzip On.

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

    Powered by Discuz! X3.5

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