curl常用总结

2023-05-08 03:17:30

 

作者:Yunga

curl 常用总结

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

Hello curl

curl http://test.com/

这便是发起一个最简单http请求,不带任何请求参数。

GET

curl http://test.com/test?param1=a&params2=b

url传参,多个参数使用 & 连接。

自定义header

curl http://test.com/test -H TEST_HEADER1: hello -H TEST_HEADER2: world

使用 -H 来传递http请求的header,格式:key:value,如果需要多个header,使用多个 -H 即可。

POST

curl可以以5种方式设置POST的内容:

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

例:

## application/x-www-form-urlencoded 以键值对方式POST传递参数,curl默认方式 curl http://test.com/test -d param1=hello&param2=curl ## 传递JSON字符串 curl http://test.com/test --data-raw my name is yunga -H Content-Type: application/json ## 数据需要进行url编码 curl http://test.com/test --data-urlencode key=a+a+a+

根据需要设置不同POST内容传递方式,设置对应的header。

设置Method

curl -X PUT http://test.com/test -d param1=hello&param2=curl

可以使用这种方式设置需要的请求方式:GET、POST、PUT、DELETE、OPTION。

上传文件

curl -X POST http://test.com/test -F file=@hello.txt -F "key=what"

使用这种方式,Content-Type会被设置为multipart/form-data,通过表单的形式提交文件,需要注意的是文件路径前使用 @ 来表示这是一个文件路径,否则会作为普通字符串传递,传递文件的同时我们可以传递其他的参数,使用多个 -F 即可。

忽略https证书验证

curl -k -X POST http://test.com/test -F file=@hello.txt -F "key=what"

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

设置cookie

## 直接设置cookie curl http://test.com/test --cookie "user=admin;pass=admin" ## 保存cookie到文件 curl -b cookie.txt http://test.com/test ## 使用cookie文件 curl -c @cookie.txt http://test.com/test

打印响应和请求头

很多时候我们需要查看响应和请求的头,只需要带上 -v 选项即可。

例:

curl http://test.com/test -d key=a+a+a+ --http1.0 --cookie user=admin;password=root -v `` 打印大概如下: ```txt * Trying ::1... * TCP_NODELAY set * Connected to localhost (::1) port 10086 (#0) > POST /test?hello=aaa HTTP/1.0 > Host: localhost:10086 > User-Agent: curl/7.64.1 > Accept: */* > Cookie: user=admin;password=root > Content-Length: 10 > Content-Type: application/x-www-form-urlencoded > * upload completely sent off: 10 out of 10 bytes * HTTP 1.0, assume close after body < HTTP/1.0 200 OK < Date: Tue, 30 Jun 2020 12:12:48 GMT < Content-Length: 7 < Content-Type: text/plain; charset=utf-8 < * Closing connection 0 success


以上就是关于《curl常用总结》的全部内容,本文网址:https://www.7ca.cn/baike/26862.shtml,如对您有帮助可以分享给好友,谢谢。
标签:
声明