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?