Linux curl 命令
最后修改于 2025 年 2 月 25 日
Linux 中的 curl 命令是一个强大的工具,用于通过各种协议(如 HTTP、HTTPS、FTP 等)与服务器传输数据。它广泛用于下载文件、测试 API 和自动化 Web 请求。本教程通过实际示例涵盖了 curl 的基本和高级用法。
curl 支持广泛的功能,包括身份验证、文件上传和自定义标头,使其成为开发人员和系统管理员的多功能工具。
基本用法
此示例演示了如何使用 curl 从 URL 下载文件。
basic_usage.sh
curl -O https://example.com/file.txt
-O 选项以其原始名称保存文件。
下载为其他名称
此示例显示如何下载文件并以自定义名称保存。
custom_name.sh
curl -o custom_name.txt https://example.com/file.txt
-o 选项允许您指定输出文件名。
遵循重定向
此示例演示了如何使用 -L 选项遵循重定向。
follow_redirects.sh
curl -L https://example.com/redirect
-L 选项确保 curl 遵循任何重定向到最终目的地。
使用自定义标头
此示例显示如何使用 curl 请求发送自定义 HTTP 标头。
custom_headers.sh
curl -H "Authorization: Bearer token" -H "Content-Type: application/json" https://example.com/api
-H 选项允许您将自定义标头添加到请求中。
上传文件
此示例演示了如何使用 curl 上传文件。
upload_file.sh
curl -F "file=@/path/to/file.txt" https://example.com/upload
-F 选项用于将文件作为表单数据上传。
测试 API
此示例展示了如何使用 curl 测试 REST API。
test_api.sh
curl -X POST -d '{"key":"value"}' -H "Content-Type: application/json" https://example.com/api
-X 选项指定 HTTP 方法,-d 在请求正文中发送数据。
高级:使用 Cookie
此示例演示了如何使用 Cookie 和 curl。
use_cookies.sh
curl -b "cookie_name=cookie_value" https://example.com
-b 选项将 Cookie 发送到请求。
curl 的最佳实践
- 使用
-L进行重定向: 如果需要,请始终使用-L来遵循重定向。 - 安全传输: 为安全数据传输请使用 HTTPS 而不是 HTTP。
- 自定义标头: 使用
-H为 API 请求添加自定义标头。 - 测试 API: 使用
-X和-d来测试具有不同方法和数据的 REST API。
来源
在本文中,我们探讨了使用 curl 命令进行数据传输的各种示例,包括下载文件、上传文件、测试 API 以及使用自定义标头和 Cookie。