2012-12-07 36 views
9

मेरा प्रश्न एचटीपीवेबआरक्वेट से बचने के बिना यूआरएल पास करने के बारे में है, मैंने मंचों और इंटरनेट की खोज की, लेकिन मुझे इसके लिए कोई अच्छा समाधान नहीं मिला।डोंटईस्केप के साथ उरी कन्स्ट्रक्टर अप्रचलित है, वैकल्पिकता क्या है?

मैं निम्नलिखित URL होना: www.website.com/sub/redirect%5Ct%5Cbc%5Cdd

यह संकेत: मैं यूआरएल निम्न हो जाएगी

Uri uri = new Uri(URL); 
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(uri); 

एक प्राप्त पद्धति पर इस मामले में: जब मैं इस तरह एक uri बनाने string URL= www.website.com/sub/redirec\t\bs\dd

तो "\" को "% 5 सी" द्वारा प्रतिस्थापित किया जाएगा। मेरे लिए क्या महत्वपूर्ण नहीं है?

मैं बच सकते हैं कि द्वारा:

Uri uri = new Uri(URL, true); //bool dontEscape 

लेकिन इस निर्माता अप्रचलित है। अप्रचलित उपयोग किए बिना समान प्रभाव कैसे हो सकता है?

+0

आपका URL को मान्य यूआरआई नहीं है। सही प्रोटोकॉल के साथ एक यूआरआई बनाने के लिए * UriBuilder * का उपयोग करें। – IllidanS4

उत्तर

7

उपयोग इस

Uri uri = new Uri(Uri.EscapeUriString(URL)); 
+2

अब काफी। इसे आज़माएं: 'उरी यूरी = नया उरी (उरी.एस्केप यूरीस्ट्रिंग ("http://example.com?param=emai%2Btag%40gmail.com")); काम नहीं करता – Alex