是否有机会进行http获取请求,读取标头而不是获取正文以减少流量并提高速度? 我使用这段代码:
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(u1);
request.AllowAutoRedirect = true;
request.Timeout = 30000;
request.Method = "GET";
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36";
request.KeepAlive = true;
HttpWebResponse response;
using (response = (HttpWebResponse)request.GetResponse())
{
var res = response.ResponseUri.ToString();
}
所以我只需要结果网址。如果有重定向(Location头) - 我将得到结果url。但我不需要身体。使用GET方法(而不是HEAD方法)获得响应以获得没有响应体的结果是真的吗?
答案 0 :(得分:2)
在返回正文的资源上使用GET
意味着您想要获取正文。假设服务器资源支持,HEAD
的设计完全符合您的要求。
如果服务器不支持HEAD
,您可能会使用Range
header来请求几个字节,但这也取决于支持它的资源,并且是一种黑客攻击。
答案 1 :(得分:2)
您可以使用HttpRequest的Headers属性
response.Headers
获取响应的标题。