尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

[Tool] [HTTP] curl 命令行工具:基础与进阶用法

[Tool] [HTTP] curl 命令行工具:基础与进阶用法
📅 发布时间:2026/6/18 20:19:17
[Tool] [HTTP] curl 命令行工具:基础与进阶用法

目录
  • curl 命令行工具:基础与进阶用法
  • 01 背景与简介
    • 1.1 核心语法
    • 1.2 常用示例速览
  • 02 HTTP 请求方法与数据传输
    • 2.1 指定 HTTP 方法 (-X)
    • 2.2 传输数据 (-d)
    • 2.3 文件上传 (-F)
  • 03 身份认证与安全
    • 3.1 HTTP 身份认证 (-u)
    • 3.2 自动选择认证方式 (--anyauth)
  • 04 调试与进阶选项

curl 命令行工具:基础与进阶用法

01 背景与简介

curl (Client URL) 是一个功能强大的命令行工具,用于通过各种协议(如 HTTP, HTTPS, FTP, FTPS, SCP, SFTP 等)传输数据。它常用于测试 API、下载文件、提交表单等任务。

1.1 核心语法

curl 的基本用法非常灵活,其核心结构如下:

curl [选项] [URL]

1.2 常用示例速览

场景 命令示例 描述
下载网页内容 curl https://example.com 将网页 HTML 内容输出到终端。
下载文件 curl -O https://example.com/file.zip 下载文件并保留原文件名。
POST 数据 curl -X POST -d 'key=value' https://api.example.com 使用 POST 方法提交数据。
查看请求头 curl -I https://example.com 只显示响应头信息。

02 HTTP 请求方法与数据传输

2.1 指定 HTTP 方法 (-X)

使用 -X 或 --request 选项可以指定 HTTP 请求方法,例如 GET、POST、PUT、DELETE 等。

# 发送 DELETE 请求
curl -X DELETE https://api.example.com/users/1

2.2 传输数据 (-d)

-d 或 --data 选项用于发送数据,通常与 POST 或 PUT 方法一起使用。

默认行为: 使用 -d 时,curl 会自动将请求方法设置为 POST,并将 Content-Type 标头设置为 application/x-www-form-urlencoded。

# 提交表单数据(自动使用 POST)
curl -d 'username=alice&password=123' https://api.example.com/login# 提交 JSON 数据(需要手动指定 Content-Type)
curl -X POST \-H 'Content-Type: application/json' \-d '{"id": 1, "status": "active"}' \https://api.example.com/items

2.3 文件上传 (-F)

使用 -F 或 --form 选项可以模拟浏览器提交表单,用于上传文件。

# 上传本地的 image.jpg 文件
curl -F 'file=@/path/to/image.jpg' https://api.example.com/upload

03 身份认证与安全

3.1 HTTP 身份认证 (-u)

-u 或 --user 选项用于指定用户名和密码,进行 Basic 或 Digest 认证。

# Basic 认证:将 'user:password' 进行 Base64 编码后发送
curl -u 'user:password' https://secure.api.example.com/data

3.2 自动选择认证方式 (--anyauth)

当需要与支持多种认证机制的服务器通信时,--anyauth 可以让 curl 自动选择最安全的认证方式(如 Digest 或 NTLM)。

核心认证示例(结合您原始的命令):

# 假设 API 接受 POST 方法,发送 ID=1 的数据,并尝试使用 'Admin:passwd' 进行认证
# 注意:您的原始命令格式有误,-d 应紧跟数据,-u 或 --anyauth 应独立。# 正确的命令结构示例:
curl -X POST \-d 'ID:1' \-u 'Admin:passwd' \--anyauth \http://127.0.0.1:8080

注:-d 'Key: Value' 这种格式通常用于发送普通文本或表单数据,而不是请求头。请求头应使用 -H。

04 调试与进阶选项

选项 别名 功能描述
--location -L 重定向: 跟随 HTTP 3xx 响应中的 Location 标头跳转。
--include -i 包含头: 在输出中包含 HTTP 响应头。
--head -I 仅头信息: 只请求 HTTP 头(使用 HEAD 方法)。
--verbose -v 详细模式: 显示连接、传输过程和 HTTP 头信息,常用于调试。
--output -o 保存文件: 将输出保存到指定文件,而不是打印到终端。
--referer -e 设置 HTTP Referer 标头。
--header -H 自定义请求头: 添加或修改自定义 HTTP 请求头。
# 示例:跟随重定向,并将网页内容保存到 index.html
curl -L -o index.html https://some.short.url

相关新闻

  • sourcetree 克隆项目仓库地址,输入账号密码后提示:这是一个无效的源路径/URL
  • 北航高低无人机协同导航方案:高空掌全局+低空查细节 - MKT
  • 20251020 之所思 - 人生如梦

最新新闻

  • 2026年好用的PTFE管道品牌,推荐哪家? - mypinpai
  • 邢台黄金回收门店实地探访全记录 - 余生黄金回收
  • 岳阳黄金回收实测六家正规门店靠谱吗 - 余生黄金回收
  • 零基础看懂 FPGA 实现 IIR 滤波器:大白话 + 手算实例 + 代码全拆解
  • MC68VZ328 UART与PWM寄存器深度解析与驱动开发实战
  • 2026老Windows WMA格式免费在线转换保姆级教程:即转即播全攻略 - 时时资讯

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号