📜  curl head 请求 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:00:10.729000             🧑  作者: Mango

Curl Head 请求 - Shell/Bash

介绍

在 Shell 或者 Bash 中,对于一些简单的 HTTP 请求场景,curl 是一个非常强大的命令行工具。同时,在需要获取 HTTP 响应的同时,并不需要将响应体下载到本地,这种场景下,使用 curl 的 head 请求会是一个非常实用的方法。本文将介绍 curl head 请求的用法以及常见场景。

Curl Head 请求

Curl 的 head 请求指的是向服务器发送一个 head 请求,以获取 HTTP 响应头部信息,而不包括响应体。这种请求常见于以下情景:

  • 验证某个 URL 是否存在。
  • 获取 HTTP 响应头部内的某些信息,比如 Content-Length、Content-Type 等等。
  • 验证某个 URL 的有效性。
  • 检查 HTTP 服务器的功能性是否可用。
Curl Head 请求用法

要使用 curl 发送 head 请求,可以使用 -I 或者 --head 参数。例如:

curl -I https://www.example.com

该命令会向 https://www.example.com 发送一个 head 请求,并输出其响应头信息,输出结果类似:

HTTP/1.1 200 OK
x-amz-id-2: D0/wK/3fNT4Z5a6cazFZMkFgZssUuR3r7vBu3ZN5L6a4z8khsIg+NE3ZIU6KD4t1NJnsTcKAVi4=
x-amz-request-id: 19NFAGH4A1D7F9F2
Date: Fri, 03 Jul 2020 09:40:05 GMT
Last-Modified: Thu, 18 Jun 2020 14:01:44 GMT
ETag: "some etag value"
Server: AmazonS3
Content-Type: text/html;charset=UTF-8
Content-Length: 100345
Via: 1.1 067408f845cb4f1bca6073c47105105a.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: LHR50-C2
X-Cache: Miss from cloudfront
X-Amz-Cf-Pop: LHR50-C2

可以看到,curl 发送了一个 head 请求,并输出了响应的 HTTP 头信息,并且没有下载响应体内容。

Curl Head 请求实例
检查一个 URL 是否可用
curl -I https://www.example.com/health

该命令会向 https://www.example.com/health 发送一个 head 请求,如果响应的 HTTP 状态码是 200,则说明该 URL 是可用的。

获取一个 URL 的 Content-Length
curl -I https://www.example.com/image.jpg | grep Content-Length

该命令会向 https://www.example.com/image.jpg 发送一个 head 请求,同时通过 grep 命令筛选出响应头部信息内的 Content-Length 字段,输出结果类似:

Content-Length: 52134
检查一个 HTTP 服务器的功能是否可用
curl -I -X OPTIONS http://example.com

该命令会向 http://example.com 发送一个 OPTIONS 请求,以检查该服务器的 OPTIONS 请求是否可用。

总结

Curl 的 head 请求是一个非常实用的搜索,常见于需要获取 HTTP 响应头部信息而不需要下载响应体的场景下。通过本文的介绍,你可以掌握 curl head 请求的用法、技巧和常见场景。