2016-03-10 50 views
0

我有一些C#方法可以從用戶指定的Uri中獲取JSON數據。用戶還可以添加一些額外的頭文件 - 我的方法將它們作爲一個字符串(用新行'\ n'分隔)。如果它是單頭,沒有問題。但是如果用戶想要添加少量頭文件呢?我正在使用WebClient類。從C#中的字符串添加Http頭文件

片方法:

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

如果標題是像下面沒有問題:

Content-Type: application/json 

但如何添加幾頭 - 例如:

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

嘗試'web.Headers.AddRange(UserHeaders.Split( 「\ n」));' –

+1

嘗試通過陣列分割你的'UserHeaders'到一個數組,然後循環把物品推到'Headers' –

+1

我認爲要使用循環作爲最後的手段。我正在尋找另一個解決方案:) –

回答

0

我沒有找到任何其他的解決方案,而不是通過所有的元素,然後單獨添加它們。

我簡單的方法:

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); 

     return listOfHeaders; 
    }