我有一个奇怪的问题。我正在尝试在不发送正文的情况下获取网页的标题。这个请求会经常发生,所以我正在做的是检查 Last-Modified、Etag 和 Content-Length 标头是否有更改。但由于我正在检查的页面很大,我不想下载正文。
我知道有一个特定的 HEAD 请求可以在 C# 中使用,但是当使用它时,服务器会发回与标准 GET 请求不同的标头。HEAD 请求不包含我正在寻找的任何标头。
有没有人有任何想法?
我有一个奇怪的问题。我正在尝试在不发送正文的情况下获取网页的标题。这个请求会经常发生,所以我正在做的是检查 Last-Modified、Etag 和 Content-Length 标头是否有更改。但由于我正在检查的页面很大,我不想下载正文。
我知道有一个特定的 HEAD 请求可以在 C# 中使用,但是当使用它时,服务器会发回与标准 GET 请求不同的标头。HEAD 请求不包含我正在寻找的任何标头。
有没有人有任何想法?
不使用 HEAD 请求是不可能的。最好参考这个链接。
如果您将Range
标头值设置为bytes=0-0
并执行请求,您将获得带有 1 字节正文的标头。这仅在服务器支持服务范围时才有效。
没有办法(除了 HEAD 请求)获取没有正文的标头。服务器无论如何都会发送所有数据。
我强烈建议您重新考虑应用程序/系统架构,如果还不算太晚的话。如果我有你要求的网络服务器,我会阻止你的所有连接。如果服务器属于您,则考虑实施通知或类似的东西。