前言
CURL是一个功能强大的命令行工具,可用于传输数据并测试各种协议。它最初是为了方便地从命令行传输文件而设计的,但是现在已经发展成为一个通用的HTTP客户端,支持HTTP、HTTPS、FTP、SFTP等多种协议。
基本语法
cURL的基本语法如下:
curl [options] [URL...]
其中options是可选的命令行选项,用于配置各种设置,而URL是要访问的网址。最基本的用法是直接提供URL:
curl http://example.com/api
这将向http://example.com发送一个GET请求,并在终端输出响应内容。
使用
使用curl 发起get请求
# 发送一个简单的GET请求
curl http://example.com
# 发送GET请求并包含查询字符串参数
curl "http://example.com/api?param1=value1¶m2=value2"
# 发送GET请求并包含请求头
curl -H "X-API-Key: 123456" http://example.com/api
#简单get请求 增加了Header 并增加请求参数
curl -H "X-USER-ID:12321" http://localhost:8080/hot/get?code=123
#另一种方式的get请求 增加了-X参数 显示的指定Get请求 增加了Header
curl -X GET -H "X-USER-ID:123" "http://localhost:8080/hot/get?code=123"
使用curl 发起post请求
# 发起post请求 参数使用请求体json
curl -X POST -H "Content-Type: application/json" -H "X-USER-ID:123" "http://localhost:8080/activity/add" -d '{"name":"新增活动"}'
# 发起post请求 参数使用form表单
curl -X POST -d "name=John Doe&age=30" http://localhost:8080/api/user
上传/下载文件或其他二进制数据
# 上传本地的 file.txt文件到服务器 其中 @是必须要带的 告诉 curl 后面的是一个文件的路径
curl -X POST -F "file=@file.txt" http://localhost:8080/api/upload
# 下载文件
curl -O http://example.com/file.zip
请求重试
# 重试5次失败的请求
curl --retry 5 http://example.com
# 在连接被拒绝时重试
curl --retry-connrefused http://example.com
并发请求
# 发送5个并发请求
curl -Z -O http://example.com/file[1-5].zip
# 使用8个并发连接发送请求
curl --parallel --parallel-max 8 http://example.com/api
响应处理
# 将响应保存到文件
curl -o response.txt http://example.com
# 查看响应头信息
curl -I http://example.com
HTTPS和SSL/TLS:
# 使用自定义CA证书
curl --cacert /path/to/cacert.pem https://example.com
# 忽略SSL/TLS证书验证
curl --insecure https://example.com
官方文档详见: https://curl.se/docs/manpage.html
the end !!!
good day !!!