从 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);
}
我有一些 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);
}