我正在使用 jq 解析一个 HAR 文件(生成的 chrome devtools)。我的目标是获得一个“表格”(或 csv 输出也可以),其中包含服务器返回的特定 HTTP 标头的值列表,每个请求 URL。
要获取所有请求 URL 的列表,我可以这样做:
cat har.json | jq '.log.entries[].request.url'
现在,对于每个请求,我想要一个包含所有 URL 的列和下一个列,其中包含在 response/headers 部分中返回的相应 Content-Encoding 和 Content-Type HTTP 标头值。
我设法使用以下命令获取 HTTP 标头值:
cat har.json | jq '.log.entries[].response.headers[] | select(.name=="Content-Encoding" or .name=="Content-Type") | .value'
现在我想混合 URL 和标头值。我怎样才能做到这一点?
这里有一个困难,因为 HTTP 服务器可能不会以相同的顺序返回标头。