2011-12-15 12 views

risposta

119

si utilizza la proprietà Headers con un indice di stringa:

request.Headers["X-My-Custom-Header"] = "the-value"; 

Secondo MSDN, questo è stato Disponibile da:

  • Universal Windows Platform 4.5
  • .NET Framework 1.1
  • Libreria di classi portatili
  • Silverlight 2.0
  • Windows Phone Silverlight 7.0
  • Windows Phone 8,1

https://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.headers(v=vs.110).aspx

+0

anche la stringa può essere sostituito con enum HttpRequestHeader come questo httpWebRequest.Headers [HttpRequestHeader.Authorization] = "valore"; – OXXY

+1

Questo non risponderebbe alla domanda originale, @OXXY. L'enumerazione 'HttpRequestHeader' è per le intestazioni standard - non per quelle personalizzate. –

+0

sì hai ragione ho perso quella – OXXY

12

Un semplice metodo di creazione del servizio, l'aggiunta di intestazioni e leggendo la risposta JSON,

private static void WebRequest() 
    { 
     const string WEBSERVICE_URL = "<<Web service URL>>"; 
     try 
     { 
      var webRequest = System.Net.WebRequest.Create(WEBSERVICE_URL); 
      if (webRequest != null) 
      { 
       webRequest.Method = "GET"; 
       webRequest.Timeout = 12000; 
       webRequest.ContentType = "application/json"; 
       webRequest.Headers.Add("Authorization", "Basic dchZ2VudDM6cGFdGVzC5zc3dvmQ="); 

       using (System.IO.Stream s = webRequest.GetResponse().GetResponseStream()) 
       { 
        using (System.IO.StreamReader sr = new System.IO.StreamReader(s)) 
        { 
         var jsonResponse = sr.ReadToEnd(); 
         Console.WriteLine(String.Format("Response: {0}", jsonResponse)); 
        } 
       } 
      } 
     } 
     catch (Exception ex) 
     { 
      Console.WriteLine(ex.ToString()); 
     } 
    } 
+0

'Autorizzazione' non è un'intestazione personalizzata, e dovrebbe essere gestita in modo più controllato. –

Problemi correlati