왜 내 asp.net 응용 프로그램이 'Authorization'이라는 이름으로 내 게시물에 헤더를 추가하지 않지만 "인증"과 같이 한 문자를 변경하면 제대로 작동하는지 알고 싶습니다. 다른 사이트의 문서에서 그들은 항상 "Authorization"이라는 이름을 사용합니다. 그래서이 시점에서 나는 단지 그 이유를 알고 싶습니다.ASP.NET HTTP 인증 헤더
나는 이것에 대해 몇 가지 주제를 읽었지만 어떠한 논리적 인 이유도 발견하지 못했습니다.
여기 아래에있는 내 코드입니다 :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();
다른이 내가 피들러를 통해 감시 변수를 추가 할 때 잘 작동이다 성가신.
이거나 거기 논리적 인 이유? 우리가 함께 일하는 매우 큰 제 3의 회사는 같은 방식으로 승인을받은 문서를 가지고 있으므로 그 이유를 알고 싶습니다. – Cody
Will이 제시 한대로 NetworkCredential 방식을 이용하는 것이 훨씬 낫습니다. 그러나 GetRequestStream을 호출하기 전에 jsut 한 번 수행해야합니다. GetRequestStream 호출하기 전에 한 번 두 번 GetRquestStream 호출하기 전에 한 두 번 일을 이해하지 못합니다 있지만 잘 작동해야합니다. 추적 로그. 지침 http://ferozedaud.blogspot.com/2009/08/tracing-with-systemnet.html – feroze
왜 더 나은지 말해 줄 수 있습니까? 아니면 내가 더 나은 이유에 대해 읽을 수있는 곳입니까? NetworkCredentials는 광고 또는 폼 인증으로 묶여있는 것 같아요. 익명을 통해 연결하는 것이 좋을 것입니다. 어느 쪽이든 누군가 나에게 이유를 말해 줄 수 있습니까?이 시점에서 나는 거의 신경 쓰지 않아도됩니다. – Cody