Saltar al contenido

WebRequest.GetResponse() arroja el error 401: no autorizado

Revisamos de forma cada noticias de nuestra web con la meta de mostrarte en todo momento la información veraz y certera.

Solución:

Si no puede habilitar la autenticación anónima, intente agregar esto a su WebRequest:

req.UseDefaultCredentials = true;
req.PreAuthenticate = true;
req.Credentials = CredentialCache.DefaultCredentials;

Creo que el problema se debe a la autenticación en el servidor IIS de prueba. Dos opciones:

1) Habilite la “Autenticación anónima” para el sitio en el servidor IIS de prueba.

2) (Recomendado) Antes de realizar la solicitud al servidor de prueba, use la plantilla de código a continuación con la información correcta de nombre de usuario/contraseña/dominio que se puede autenticar contra el servidor de prueba.

System.Net.NetworkCredential netCredential = 
        new System.Net.NetworkCredential("", "", "");
req.Credentials = netCredential;

En este momento no tengo acceso a la configuración de IIS, por lo que no pude habilitar Anonymous Authentication lo cual es muy posible por qué la respuesta de Cybernate no me funcionó. Sin embargo, encontré un método más simple que funcionó. En lugar de usar un WebRequest Descubrí que podía hacer lo mismo con Server.Execute. A continuación se muestra mi nueva solución:

string strHTML = String.Empty;
using (var sw = new StringWriter())

    Server.Execute([path-to-local-aspx], sw);
    strHTML = sw.ToString();


string relativeReportPath = [relative-path-to-new-html-file];

using (StreamWriter writer = File.CreateText(Server.MapPath(relativeReportPath)))

    writer.WriteLine(strHTML);
    MessageLabel.Text = "Your report is ready. Click Close to close the window.";

Comentarios y puntuaciones del artículo

Si te mola la invitación, eres capaz de dejar un ensayo acerca de qué te ha gustado de este post.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *