मैं जानना चाहता हूं कि मेरा एएसपीनेट एप्लिकेशन मेरे पोस्ट में हेडर क्यों नहीं जोड़ता है जब इसे 'प्राधिकरण' नाम दिया जाता है लेकिन जब मैं एक चरित्र बदलता हूं, तो "प्राधिकरण" कहता है, ठीक काम करेगा। अन्य साइटों के लिए प्रलेखन में वे हमेशा "प्राधिकरण" नाम का उपयोग करते हैं, इसलिए मैं भी साथ चाहूंगा और इस बिंदु पर मैं बस खड़े रहना चाहता हूं क्यों।एएसपी.नेट 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();
अन्य कष्टप्रद इस जब मैं Fiddler के माध्यम से देखा चर जोड़ने यह ठीक काम करता है है।
या है वहाँ एक तार्किक कारण? एक बहुत बड़ी तीसरी पार्टी कंपनी जिसके साथ हम काम करते हैं, उसी तरह उनके प्रमाणीकरण के साथ दस्तावेज है, इसलिए मैं कारण जानना चाहता हूं। – Cody
नेटवर्क क्रेडेंशियल दृष्टिकोण का उपयोग करना बेहतर होगा जैसा कि सुझाव देगा। हालांकि, आपके दृष्टिकोण को भी ठीक काम करना चाहिए, हालांकि मुझे समझ में नहीं आ रहा है कि आप इसे दो बार क्यों कर रहे हैं (GetRquestStream पर कॉल करने से पहले एक बार, और एक बार बाद। आपको इसे एक बार पहले प्राप्त करना चाहिए y कहां GetRequestStream। अगर यह अभी भी काम नहीं करता है, तो एक प्राप्त करें ट्रेस लॉग। निर्देश http://ferozedaud.blogspot.com/2009/08/tracing-with-systemnet.html – feroze
क्या आप मुझे बता सकते हैं कि यह बेहतर क्यों है? या जहां मैं पढ़ सकता हूं कि यह बेहतर क्यों है? मेरे लिए ऐसा लगता है कि नेटवर्क क्रेडेंशियल्स को विज्ञापन या फॉर्म प्रमाणीकरण के साथ बंधेगा, मैं कनेक्शन को अज्ञात के माध्यम से दूंगा, फिर बस सत्यापित करें। किसी भी तरह से हालांकि कोई मुझे बता सकता है क्यों? मुझे इस बारे में परवाह नहीं है कि इस बिंदु पर क्या है। – Cody