`curl --verbose` 但没有 SSL 详细信息?(即只有 HTTP 标头)

`curl --verbose` 但没有 SSL 详细信息?(即只有 HTTP 标头)

调用-v/--verbosecurl(1)显示请求和响应的 HTTP 标头(还会告诉我 curl 是否正在遵循重定向)。但如果服务器通过 HTTPS/SSL/TLS,那么它还会向我提供几行有关 TLS/SSL 连接的信息。我关心的是 HTTP 标头,而不是 SSL 详细信息。

是否可以让 curl 显示 HTTP 标头而不是 SSL 连接详细信息?


$ curl --version
curl 7.83.1 (x86_64-pc-linux-gnu) libcurl/7.83.1 OpenSSL/3.0.3 zlib/1.2.11 brotli/1.0.9 zstd/1.5.2 libidn2/2.3.2 libpsl/0.21.0 (+libidn2/2.3.0) libssh2/1.10.0 nghttp2/1.47.0 librtmp/2.3 OpenLDAP/2.5.12
Release-Date: 2022-05-11
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp 
Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets zstd

答案1

curl -D - https://uri/将显示响应的标题+正文。

答案2

curl -I执行 HEAD 请求并显示标题(可能没有正文)。

curl -i允许使用任意请求方法,并显示标题和正文。

男人卷曲

   -I, --head
          (HTTP  FTP  FILE)  Fetch  the headers only! HTTP-servers feature 
          the command HEAD which this uses to get nothing but the header 
          of a document. When used on an FTP or FILE file, curl displays
          the file size and last modification time only.
   
   -i, --include
          Include the HTTP response headers in the output. The HTTP
          response headers can include things like server name, cookies,
          date of the document, HTTP version and more...

          To view the request headers, consider the -v, --verbose option.

          See also -v, --verbose.

答案3

curl -v https://example.com 2>&1 > /dev/null | grep -P '^[<>]'

这也隐藏了其他一些东西,比如 IP、端口等,但如果你只对标题感兴趣,它就可以起作用。

相关内容