【问题标题】:Remove HTTP Headers from CURL从 CURL 中删除 HTTP 标头
【发布时间】:2018-04-24 08:28:47
【问题描述】:

我遇到了同样的问题

Bash: Remove headers from HTTP response

问题是我的输出包含不止一个空行,因此接受的答案将不起作用...

有什么建议吗?

HTTP/1.1 100 Continue

HTTP/1.1 100 Continue

HTTP/1.1 201 Ok
Date: Fri, 10 Nov 2017 08:47:06 GMT
Server: Apache
content-length: 100
content-type: application/json; charset=utf-8
cache-control: max-age=0, private, must-revalidate
Connection: close

{"user":"1234......

【问题讨论】:

  • 您能否在代码标签中也发布预期的输出?因为不清楚。
  • 预期输出是 JSON 内容:{"user":"1234","dept":"IT"}。更糟糕的是,“HTTP/1.1 100 Continue”标头可能会出现在输出中,也可能不会出现。
  • 很不清楚......为什么不只是 grep for { ?没有其他的对吗?
  • 将您的 curl 命令添加到您的问题中。

标签: html bash curl sed


【解决方案1】:

您可以使用sedawk 排除标头并仅打印json 响应,在行首查找{ 的第一次出现。

sed -n '/^{/,$p' file
awk '/^{/{p=1} p' file

您似乎已经执行了curl-i 或其他任何东西,以便获得这些标头。如果您真的不需要它们,则仅使用简单的curl 获取响应,不带用于包含标头的参数,默认打印curl 足以排除标头。

【讨论】:

  • 需要标头来解析和获取 HTTP 响应代码,如果收到 500 系列,则无需尝试获取剩余内容,应采取其他方法,sed 工作得很好我需要感谢。
猜你喜欢
  • 2011-07-05
  • 1970-01-01
  • 2013-12-09
  • 1970-01-01
  • 1970-01-01
  • 2010-12-28
  • 2011-02-13
  • 2010-09-21
  • 1970-01-01
相关资源
最近更新 更多