metodo ejemplos c# redirect http-headers httpwebrequest

c# - ejemplos - using webclient



Autenticación básica sobre la redirección (1)

Tienes que desactivar la propiedad AllowRedirect de tu HttpRequest.

Luego tienes que construir tu propio sistema de redirección con encabezados básicos de autenticación.

Esto no es maravilloso, pero si no, el framework .Net deja caer su encabezado al redireccionar.

Tengo un servicio web que necesita un encabezado de Autenticación básica. Sin embargo, cuando lo llamo usando

var header = "Authorization: Basic " + CreateBasicHttpAuthenticationHeader(login, password); webRequest.Headers.Add(header); var webResponse = (HttpWebResponse)webRequest.GetResponse();

Devuelve un 303 - Ver otro:

POST https://myservice/rates HTTP/1.1 Authorization: Basic QXZ...NjY= Content-Type: application/x-content X-API-Version: 1.1 If-Unmodified-Since: Mon, 23 Sep 2013 08:32:27 GMT User-Agent: UserAgent

Respuesta:

HTTP/1.1 303 See Other Date: Mon, 23 Sep 2013 08:30:57 GMT X-Opaque-ID: q8nxxxxc Location: https://myservice/rates Content-Length: 0

.Net luego envía automáticamente una solicitud GET a la nueva ubicación:

GET https://myservice/rates HTTP/1.1 Content-Type: application/x-content X-API-Version: 1.1 If-Unmodified-Since: Mon, 23 Sep 2013 08:32:27 GMT User-Agent: UserAgent

Pero no envía el encabezado Authorization esta vez. ¿Conoces una forma de decirle que envíe todos los encabezados en todas las llamadas? ¿Debo decirle que no siga el contenido?