从 C# 中的字符串添加 Http headers

Adding Http headers from string in C#

我有一些 C# 方法可以从用户指定的 Uri 中获取 JSON 数据。用户还可以添加一些额外的 headers - 我的方法将它们作为字符串获取(由新行 '\n' 分隔)。如果是单header就没有问题。但是如果用户想添加几个 header 怎么办?我正在使用 WebClient class.

方法片段:

using (WebClient web = new WebClient())
            {
                switch (Method.ToUpper())
                {
                    case "GET":
                        {
                            web.Headers.Add(UserHeaders);
                            result = web.DownloadString(UserUri);
                            break;
                        }
                }

如果header像下面这样就没有问题:

Content-Type: application/json

但是如何添加几个 headers - 例如:

Content-Type: application/json
Accept-Language: en-US
Accept-Charset: utf-8

除了遍历所有元素并分别添加它们之外,我没有找到任何其他解决方案。

我的简单方法:

public void AddCustomHeaders(WebClient web, string headers)
    {
        List<string> listOfHeaders = new List<string>();
        listOfHeaders = headers.Split('\n').ToList();

        foreach (var header in listOfHeaders)
            web.Headers.Add(header);
    }