# 如何使用 cURL 发送 HTTP 头信息：附示例的综合指南

这份全面的指南将帮助您掌握如何使用 cURL 发送和接收 HTTP 标头。探索示例、自定义标头以及故障排除技巧。

- 作者: [Brandon Perry](https://fineproxy.org/cn/brandon-perry/)
- 发布于: 2023-09-21T04:37:23.000Z
- 已更新: 2025-05-28T07:10:00.000Z
- 规范网址: https://fineproxy.org/cn/how-to-send-http-headers-with-curl-a-comprehensive-guide-with-examples/

对于使用 API 或 Web 服务的任何人来说，使用 cURL 发送 HTTP 标头是一项基本技能。 HTTP 标头传达有关您的请求的基本信息，例如内容类型、授权等。 cURL 是一个用于发出 HTTP 请求的强大命令行工具，允许您轻松自定义和发送这些标头。在本指南中，我们将引导您完成使用 cURL 发送 HTTP 标头的过程，并提供各种实际示例。

![如何使用 cURL 发送 HTTP 头信息：附示例的综合指南](/wp-content/uploads/2023/09/Depositphotos_4352211_XL-2048x1448.jpg)

## 先决条件

在我们深入示例之前，请确保您的系统上安装了 cURL。您可以通过运行以下命令来检查它是否已安装：

```
curl --version
```

如果没有安装，可以从cURL官方网站下载。

## 基本 cURL 语法

使用 cURL 发送 HTTP 请求的基本语法是：

```
curl [options] [URL]
```

要在请求中包含 HTTP 标头，您可以使用 -H 或 –header 选项，后跟标头信息。

### 示例 1：发送带有自定义标头的 GET 请求

让我们从一个对假设的 API 的简单 GET 请求开始，其中包括自定义标头。假设您想在 API 密钥中包含“Authorization”标头。

```
curl -H "Authorization: Bearer YOUR_API_KEY" https://api.example.com/resource
```

将 YOUR\_API\_KEY 替换为您的实际 API 密钥。

### 示例 2：发送带有 JSON 数据的 POST 请求

在此示例中，我们将发送带有 JSON 负载和自定义内容类型标头的 POST 请求。

```
curl -X POST -H "Content-Type: application/json" -d '{"name": "John", "email": "[email protected]"}' https://api.example.com/users
```

此命令将请求方法指定为 POST (-X POST)，将内容类型设置为 JSON (-H “Content-Type: application/json”)，并使用 -d 包含 JSON 数据。

### 示例 3：设置多个标头

您可以在单个 cURL 请求中包含多个标头。在这里，我们发送带有“Authorization”和“User-Agent”标头的请求。

```
curl -H "Authorization: Bearer YOUR_API_KEY" -H "User-Agent: MyClient/1.0" https://api.example.com/resource
```

### 示例 4：发送 Cookie

要随您的请求发送 cookie，请使用 -b 或 –cookie 选项，后跟 cookie 数据。

```
curl -b "session=12345; preferences=darkmode" https://api.example.com/dashboard
```

此示例发送两个 cookie：“会话”和“首选项”。

### 示例 5：遵循重定向

默认情况下，cURL 不遵循 HTTP 重定向。要启用重定向跟随，请使用 -L 或 –location 选项。

```
curl -L https://example.com
```

此命令将遵循任何重定向并显示最终页面内容。

### 示例 6：发送自定义用户代理

您可以设置自定义 User-Agent 标头来识别您的请求。

```
curl -H "User-Agent: MyCustomApp/1.0" https://api.example.com/resource
```

与需要特定用户代理的 API 交互时，自定义 User-Agent 标头非常有用。

### 示例 7：发送不带数据的请求标头

如果需要发送不带请求正文的标头，可以使用 -I 或 –head 选项。

```
curl -I https://api.example.com/resource
```

此命令发送一个 HEAD 请求，该请求仅获取标头而不获取实际内容。

### 示例 8：发送基本身份验证

要发送 HTTP 基本身份验证凭据，您可以包含“授权”标头，其中包含以 Base64 编码的用户名和密码。

```
curl -H "Authorization: Basic BASE64_ENCODED_CREDENTIALS" https://api.example.com/resource
```

将 BASE64\_ENCODED\_CREDENTIALS 替换为您的 Base64 编码的用户名和密码（例如，用户名:密码）。

### 示例 9：调试和详细模式

在排除问题或检查 HTTP 请求和响应时，您可以使用 cURL 的详细模式以及 -v 或 –verbose 选项。

```
curl -v https://api.example.com/resource
```

这将显示有关请求和响应的详细信息，包括标头。

使用 cURL 发送 HTTP 标头是使用 Web 服务和 API 的一项关键技能。通过本指南中提供的示例，您可以自定义请求、处理身份验证、发送 cookie 等。当您熟悉 cURL 的功能后，您将能够有效地与各种 Web 服务进行交互。

![如何使用 cURL 发送 HTTP 头信息：附示例的综合指南](/wp-content/uploads/2023/09/Depositphotos_119316288_XL-2048x1239.jpg)
