2016-03-10 2 views
0

У меня есть метод C#, который получает данные JSON от Uri, заданные пользователем. Пользователь также может добавлять некоторые дополнительные заголовки - мой метод получает их как строку (разделенную новой строкой '\ n'). Если это отдельный заголовок, проблем нет. Но что, если пользователь хочет добавить несколько заголовков? Я использую класс WebClient.Добавление заголовков Http из строки в C#

Кусок метода:

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 ("\ п"));' –

+1

разделите ваш 'UserHeaders' в массив, а затем цикл по массиву чтобы подталкивать элементы к «Заголовкам» –

+1

Я думаю использовать цикл в качестве последнего средства. Я ищу другое решение :) –

ответ

0

I не нашел другого решения, кроме использования всех элементов и добавления их отдельно.

Мой простой метод:

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; 
    } 
Смежные вопросы