यूआरएल एन्कोडिंग का उपयोग यह सुनिश्चित करने के लिए किया जाता है कि यूआरएल (विशेष रूप से क्वेरीस्ट्रिंग में) में विशेष प्रतीकों को शामिल किया गया है, जिसे गलती से यूआरएल की पार्सिंग और प्रसंस्करण में उपयोग नहीं किया जाता है। उदाहरण के लिए, + प्रतीक का उपयोग यूआरएल में एक स्थान को इंगित करने के लिए किया जाता है। हालांकि, अगर आप अपने क्वेरीस्ट्रिंग का हिस्सा बनने के लिए + प्रतीक के लिए इच्छुक थे तो आप ब्राउज़र पर भेजने से पहले उस क्वेरीस्ट्रिंग को एन्कोड करना चाहते हैं।
उदाहरण के लिए
। कल्पना कीजिए कि आपने एक पृष्ठ लिखा है जो क्वेरीस्ट्रिंग पर गणित समीकरण प्राप्त करता है और पृष्ठ पर समीकरण प्रदर्शित करता है।
यूआरएल हो सकता है: http://yoursite.com/displayMath.aspx?equation=3+5
इस मामले में + प्रतीक समीकरण का एक सार्थक हिस्सा बनने के लिए करना है। हालांकि, UrlEncode के बिना इसे एक स्थान का प्रतिनिधित्व करने के रूप में व्याख्या किया जाएगा। प्राप्तकर्ता पृष्ठ पर क्वेरीस्ट्रिंग से इस मान को पढ़ने से "3 5" उत्पन्न होगा, जो कि इरादा नहीं था।
सीधे उस यूआरएल पर रीडायरेक्ट करने के बजाय, आप पहले अनुरोध को एन्कोड करना चाहते हैं।
string equation = "3+5";
string url = String.Format(@"http://yoursite.com/displayMath.aspx?equation={0}", equation);
string encodedUrl = Server.UrlEncode(url);
Response.Redirect(encodedUrl);
इससे यह सुनिश्चित होता है कि बाद में एक Request.Querystring["equation"]
समीकरण बरकरार प्राप्त होगा क्योंकि किसी भी विशेष प्रतीकों पहले इनकोडिंग किया जाएगा: आप निम्नलिखित कोड लिख सकते हैं।
मुझे यकीन नहीं है कि मैं यूआरएल एन्कोडिंग के लिए आपके उपयोग के मामले को समझता हूं। यदि आप शायद जो कुछ हासिल करने की कोशिश कर रहे हैं उस पर अधिक जानकारी प्रदान कर सकते हैं तो मैं अधिक जवाब देने का प्रयास करूंगा। अभी के लिए मुझे आशा है कि यह जानकारी उपयोगी है।
स्रोत
2009-09-22 16:54:27
27 सवाल और 0% का उपयोग कर स्वीकार? आप कितने क्रूर हो सकते हैं। – Matt
क्या आप अपने प्रश्न को स्पष्ट कर सकते हैं? क्या आप पूछ रहे हैं कि यूआरएल एन्कोडिंग कैसे काम करती है? या एक पुस्तकालय के लिए जो इसे आपके लिए संभाल लेगा? या क्या आपके पास एक विशिष्ट उपयोग केस है जहां यह काम नहीं कर रहा है? – atk
@envalid: मुझे नहीं लगता कि विशेषण "क्रूर" यहां उपयुक्त है। एक बेहतर वर्णन "अनजान, असंगत और असभ्य" होगा! ;-) – Cerebrus