LOADING...

加载中请稍等...

loading

Linux每日一篇 - 53 - curl

Linux数据传输神器!掌握curl命令,高效传输数据,支持多种协议!

curl命令是什么?

curl是”Client URL”的缩写,是一个强大的命令行工具,用于在服务器之间传输数据,支持HTTP、HTTPS、FTP、FTPS、SFTP等多种协议,是网络开发和调试的必备工具。

基本用法

# 获取网页内容
curl https://example.com

# 下载文件
curl -O https://example.com/file.zip

# 下载并重命名文件
curl -o newname.zip https://example.com/file.zip

# 显示详细信息
curl -v https://example.com

# 断点续传
curl -C - -o file.zip https://example.com/file.zip

# 限制下载速度
curl --limit-rate 100K https://example.com/file.zip

实用技巧

# 发送POST请求
curl -X POST -d "param1=value1&param2=value2" https://example.com/api

# 发送JSON数据
curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' https://example.com/api

# 设置请求头
curl -H "Authorization: Bearer token" https://api.example.com/data

# 跟随重定向
curl -L https://example.com/redirect

# 保存cookie
curl -c cookies.txt https://example.com

# 使用cookie
curl -b cookies.txt https://example.com

# 设置超时时间
curl --connect-timeout 10 --max-time 30 https://example.com

常用场景

# 检查API响应
curl -s https://api.example.com/health

# 测试HTTP状态码
curl -s -o /dev/null -w "%{http_code}" https://example.com

# 上传文件
curl -X POST -F "file=@/path/to/file" https://example.com/upload

# 下载GitHub Release
curl -L -o app.tar.gz https://github.com/user/repo/releases/latest/download/app.tar.gz

# 测试网站响应时间
curl -w "@curl-format.txt" -o /dev/null -s https://example.com

# 获取响应头信息
curl -I https://example.com

# 忽略证书错误
curl -k https://self-signed.badssl.com
头像
汪多多是只猫
失业的运维工程师
热爱开源与分享
微信公众号