curl命令

Ubuntu 常用命令 curl 适用于 HTTP 请求、文件传输和 API 调试:


命令名称

curl(客户端 URL 请求工具)
用途:通过命令行发送或接收网络数据,支持 HTTP/HTTPS/FTP/SFTP 等协议,常用于测试 API、下载文件或调试网络服务。


基础语法

curl [选项] <URL>

核心功能与示例

1. 快速下载文件

# 下载文件到当前目录(保留远程文件名)
curl -O https://example.com/file.zip

# 指定本地文件名保存
curl -o custom_name.zip https://example.com/file.zip

2. 发送 HTTP 请求

# GET 请求(默认)
curl https://api.example.com/data

# POST 请求(提交 JSON)
curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' https://api.example.com/submit

# 带 Cookie 的请求
curl -b "session=abc123" https://example.com/dashboard

3. 调试与查看响应头

# 显示完整响应头(-i)
curl -i https://www.bigran.cn

# 仅显示响应头(-I,HEAD 方法)
curl -I https://www.bigran.cn

4. 断点续传与限速

# 断点续传(-C -)
curl -C - -O https://example.com/large_file.iso

# 限速下载(限速 100KB/s)
curl --limit-rate 100K -O https://example.com/file.iso

高级用法

1. 模拟浏览器请求

# 指定 User-Agent 和 Referer
curl -A "Mozilla/5.0" -e "https://google.com" https://example.com

2. 文件上传(FTP/HTTP)

# 通过 FTP 上传文件
curl -u user:password -T file.txt ftp://ftp.example.com/

# 通过 HTTP 表单上传
curl -F "file=@local_file.txt" https://example.com/upload

3. 认证与代理

# Basic 认证
curl -u username:password https://api.example.com

# 使用代理服务器
curl -x http://proxy.example.com:8080 https://www.bigran.cn

4. 输出到管道处理

# 下载并解压到当前目录
curl https://example.com/file.tar.gz | tar -xz

常见场景

  1. API 调试

    # 测试 RESTful API 响应
    curl -X PUT -H "Authorization: Bearer token" https://api.example.com/item/1
  2. 批量下载

    # 批量下载多个文件(file1.txt, file2.txt)
    curl -O https://example.com/file[1-2].txt
  3. 监控服务健康

    # 定时检查网站状态(结合 cron)
    curl -s -o /dev/null -w "%{http_code}" https://www.bigran.cn
  4. 数据抓取

    # 抓取网页内容并过滤关键词
    curl -s https://news.example.com | grep "区块链"

注意事项

  1. 安全提示

    • 避免在命令中明文输入密码(用 -u user:password 时建议改用令牌或交互式输入)。
    • 使用 HTTPS 协议确保传输加密。
  2. 性能优化

    • 大文件下载时添加 -# 显示进度条(或 --progress-bar)。
    • 复用连接:通过 --keepalive 减少握手开销。
  3. 错误处理

    • 使用 --retry <次数> 自动重试失败请求。
    • 检查返回状态码:echo $?(0 表示成功,非 0 为错误)。

常用参数速查表

参数 说明
-X <METHOD> 指定 HTTP 方法(GET/POST 等)
-H "Header: Val" 添加请求头
-d "data" 提交请求体数据
-o <FILE> 输出到文件
-L 自动跟随重定向
-v 显示详细调试信息
-s 静默模式(不显示进度/错误)
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇