Me gustaría saber por qué mi aplicación asp.net no agregará el encabezado a mi publicación cuando se llame 'Autorización', pero funcionará bien cuando cambie un carácter, diga "Autorizaciones". En la documentación de otros sitios siempre usan el nombre "Autorización", por lo que también me gustaría, y en este momento solo quiero entender por qué.Encabezado de autorización HTTP ASP.NET
He leído algunos temas al respecto, pero no he encontrado ninguna razón lógica para ello.
Aquí está mi código de abajo:
string fileName = "c:\\xyz.xml";
string uri = "http://myserver/Default.aspx";
req = WebRequest.Create(uri);
req.Method = "POST";
req.ContentType = "text/xml";
byte[] authBytes = Encoding.UTF8.GetBytes("DDSServices:jCole2011".ToCharArray());
req.Headers.Add("Authorization", "BASIC " + Convert.ToBase64String(authBytes));
req.Headers.Add("test", "test");
UTF8Encoding encoder = new UTF8Encoding();
byte[] data = encoder.GetBytes(this.GetTextFromXMLFile(fileName));
req.ContentLength = data.Length;
Stream reqStream = req.GetRequestStream();
reqStream.Write(data, 0, data.Length);
reqStream.Close();
req.Headers.Add("Authorization", "BASIC" + Convert.ToBase64String(authBytes));
System.Net.WebResponse response = req.GetResponse();
System.IO.StreamReader reader = new StreamReader(response.GetResponseStream());
string str = reader.ReadToEnd();
El otro molesto que es cuando puedo añadir la variable visto a través violinista que trabaja muy bien.
o hay una razón lógica? Una gran empresa de terceros con la que trabajamos tiene documentación con su autorización de la misma manera, por lo que me gustaría saber el motivo. – Cody
Es mucho mejor usar el enfoque de NetworkCredential como lo sugiere Will. Sin embargo, su enfoque también debería funcionar bien, aunque no entiendo por qué lo hace dos veces (una antes de llamar a GetRquestStream, y una vez después. Debe hacerlo una vez antes de llamar a GetRequestStream. Si aún no funciona, obtenga un instrucciones de seguimiento en http://ferozedaud.blogspot.com/2009/08/tracing-with-systemnet.html – feroze
¿Puede decirme por qué es mejor? ¿O dónde puedo leer acerca de por qué es mejor? parece que las NetworkCredentials estarían vinculadas con la autenticación de anuncios o formularios, preferiría que la conexión fuera anónima, y luego solo verificar. De cualquier forma, ¿alguien puede decirme por qué? Casi no me importa lo que en este momento. – Cody