我正在使用 curl 进行 Web 服务调用,该调用Transfer-Encoding: chunked
用于获取其响应。我可以使用--raw
和--no-buffer
选项来获取到达的原始数据块:
curl -k -D - "https://somesite.com/justdoit" --http1.1 --no-buffer --raw
这几乎可以满足我的要求:
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Strict-Transport-Security: max-age=2592000
Date: Wed, 15 Jan 2025 16:04:06 GMT
Set-Cookie: cookiesession1=678B297C93095B7E2ACF070259B276F9;Expires=Thu, 15 Jan 2026 16:04:06 GMT;Path=/;HttpOnly
6
<html>
4d6
<script src="js/select.js"></script>
<script>
...
但是,我还需要输出每个写入块的当前日期时间。例如:
2025-01-15 14:30:20
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Strict-Transport-Security: max-age=2592000
Date: Wed, 15 Jan 2025 16:04:06 GMT
Set-Cookie: cookiesession1=678B297C93095B7E2ACF070259B276F9;Expires=Thu, 15 Jan 2026 16:04:06 GMT;Path=/;HttpOnly
2025-01-15 14:30:21
6
<html>
2025-01-15 14:30:22
4d6
<script src="js/select.js"></script>
<script>
...
有这个选项吗?
谢谢
curl 没有内置选项来为每个输出块添加时间戳,但您可以使用包装脚本来实现这一点。
ts
(来自moreutils
包):ts
安装,你可以创建一个更详细的包装器脚本:这两种方法都会在每行到达时为其添加时间戳。如果需要,第二个脚本可以让您更好地控制时间戳格式。