为什么System.Net.Http.Headers.HttpResponseHeaders不可索引?

问题描述 投票:0回答:1

要从HttpHeaders(在我的情况下为HttpResponseHeaders)实例中检索标头值,我必须调用GetValues,例如response.Headers.GetValues("Content-Length")。这很不方便。

似乎支持以下内容很简单:

public IEnumerable<string> this[string headerName]
{
    return GetValues(GetHeaderDescriptor(headerName));
}

[HttpHeaders不支持此功能以减少麻烦的response.Headers["Content-Length"]吗?

c# dotnet-httpclient
1个回答
0
投票

如果您希望获得标头值的直接方法,则可以使用特定于Http的实现,例如HttpWebRequest和HttpWebResponse

示例:

        var testRequest = (HttpWebRequest)WebRequest.Create("https://stackoverflow.com/");
        var testResponse = (HttpWebResponse)testRequest.GetResponse();
        Console.WriteLine(testResponse.Headers["Content-Length"]);
© www.soinside.com 2019 - 2024. All rights reserved.