Почему System. Net .Http.Headers.HttpResponseHeaders не индексируется? - PullRequest
1 голос
/ 19 января 2020

Чтобы извлечь значения заголовков из экземпляра HttpHeaders (или HttpResponseHeaders в моем случае), мне нужно вызвать GetValues например response.Headers.GetValues("Content-Length"). Это неудобно.

Кажется, что было бы просто поддержать что-то вроде:

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

. Есть ли причина, по которой HttpHeaders не поддерживает это, чтобы менее громоздким response.Headers["Content-Length"]?

1 Ответ

2 голосов
/ 19 января 2020

Если вам нужен простой способ получения значений заголовка, вы можете использовать Http-специфицированные c реализации, такие как HttpWebRequest и HttpWebResponse .

Пример:

        var testRequest = (HttpWebRequest)WebRequest.Create("https://stackoverflow.com/");
        var testResponse = (HttpWebResponse)testRequest.GetResponse();
        Console.WriteLine(testResponse.Headers["Content-Length"]);
...