如何在bash中获取自定义标头

时间:2017-03-26 14:17:04

标签: bash curl http-headers wget

我在Asp.Net app中添加了自定义标题:

context.Response.Headers.Add("X-Date", DateTime.Now.ToString());
context.Response.Redirect(redirectUrl, false);

当我使用Fiddler时,我可以看到" X-Date"响应中的标头。 我需要使用bash来接收它。 我尝试curl -i https://my.site.comwget -O - -o /dev/null --save-headers https://my.site.com但没有成功。 在这两种情况下,我只看到常规标题,如:Content-Type,Server,Date等......

我如何收到" X-Date"头?

谢谢, 列夫

1 个答案:

答案 0 :(得分:0)

协议头与文件头不同(如http-header和tcp-header不同)。当您创建协议标头时,您需要服务器来解决它并使用相关的环境变量。示例......

#!/bin/bash
# Apache - CGI 
echo "text/plain"
echo ""
echo "$CONTENT_TYPE"
echo "$HTTP_ACCEPT"
echo "$SERVER_PROTOCOL"

通过网络调用此脚本时,我的浏览器响应是...

text/html
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP/1.1

您要找的是环境变量,名为$HTTP_ACCEPT$CONTENT_TYPE,也可能是$SERVER_PROTOCOL