2011-12-15 20 views

Respuesta

119

se utiliza la propiedad Headers con un índice de la cadena:

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

Según MSDN, esto ha estado disponible desde:

  • Universal Windows Platform 4.5
  • .NET Framework 1.1
  • Biblioteca de clases portátil
  • 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

también la cadena puede ser reemplazado con enum HttpRequestHeader como este httpWebRequest.Headers [HttpRequestHeader.Authorization] = "value"; – OXXY

+1

Eso no respondería a la pregunta original, @OXXY. La enumeración 'HttpRequestHeader' es para encabezados estándar, no para los personalizados. –

+0

sí, tiene razón, me olvidé de ese – OXXY

12

Un método simple de crear el servicio, añadiendo cabeceras y la lectura de la respuesta 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

'Authorization' no es un encabezado personalizado, y debe manejarse de una manera más controlada. –

Cuestiones relacionadas