掌握 HTTP 请求:理解 cURL GET 语法

发布于:2025-06-13 ⋅ 阅读:(19) ⋅ 点赞:(0)

cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。

一、cURL 基本概念

cURL 是 "Client URL" 的缩写,能够支持多种协议,如 HTTP、HTTPS、FTP、SFTP 等。它广泛应用于测试 API、调试网络请求以及自动化脚本中。

二、cURL GET 请求基本语法

最简单的 cURL GET 请求语法如下:

curl [options] URL

其中 [options] 是可选参数,URL 是请求的目标地址。

示例
curl https://api.example.com/data

此命令将发送一个 GET 请求到 https://api.example.com/data,并在控制台输出响应。

三、常用选项
1. -i:显示响应头
curl -i https://api.example.com/data

此命令不仅会显示响应的正文,还会显示响应头信息。

2. -X:指定请求方法

虽然 GET 是默认方法,但可以通过 -X 明确指定:

curl -X GET https://api.example.com/data
3. -H:添加请求头

向请求中添加自定义头,例如设置 User-Agent 或 Authorization

curl -H "User-Agent: MyClient/1.0" https://api.example.com/data

添加多个头:

curl -H "User-Agent: MyClient/1.0" -H "Authorization: Bearer <token>" https://api.example.com/data
4. -d:发送数据

虽然 -d 主要用于 POST 请求,但在某些 API 中也可以用来发送 GET 请求参数:

curl -G -d "param1=value1&param2=value2" https://api.example.com/data
5. -o:将响应输出到文件

将响应保存到文件而不是输出到控制台:

curl -o output.json https://api.example.com/data
​
6. -s:静默模式

隐藏进度信息,只显示响应内容:

curl -s https://api.example.com/data
7. -v:详细模式

显示详细的请求和响应信息,用于调试:

curl -v https://api.example.com/data
四、结合示例使用 cURL

假设我们要请求一个需要身份验证的 API,并将响应保存到文件中,同时隐藏进度信息,代码如下:

curl -s -H "Authorization: Bearer <token>" -o response.json https://api.example.com/data

在此命令中:

  • -s 使 cURL 运行在静默模式。
  • -H "Authorization: Bearer <token>" 添加身份验证头。
  • -o response.json 将响应保存到 response.json 文件。
五、处理 GET 请求参数

GET 请求常常需要传递参数,可以直接在 URL 中添加查询字符串:

curl "https://api.example.com/data?param1=value1&param2=value2"

或使用 -G 和 -d 选项:

curl -G -d "param1=value1" -d "param2=value2" https://api.example.com/data