उत्तर
उरी कक्षा में UserInfo विशेषता है।
Uri uriAddress = new Uri ("http://user:[email protected]/index.htm ");
Console.WriteLine(uriAddress.UserInfo);
इस संपत्ति द्वारा लौटाया गया मूल्य आमतौर पर "उपयोगकर्ता नाम: पासवर्ड" प्रारूप में होता है।
http://msdn.microsoft.com/en-us/library/system.uri.userinfo.aspx
यह केवल तभी काम करता है जब क्रेडेंशियल्स में "@" प्रतीक नहीं है (उपयोगकर्ता नामों के लिए आम है जो ईमेल पते हैं, या मजबूत पासवर्ड में)। –
सच है। ध्यान दें कि '@' आरएफसी द्वारा निर्दिष्ट वर्दी संसाधन पहचानकर्ता में एक आरक्षित चरित्र है। Https://tools.ietf.org/html/rfc3986#page-12 देखें जैसा कि आप देख सकते हैं कि उपयोगकर्ता नाम या पासवर्ड जो यूआरआई को अमान्य बनाता है, में बहुत से वर्ण हैं। – supertopi
हाँ, जब हमने ऐसा किया, तो हमने क्रेडेंशियल्स को पार्सिंग और HttpUtility.UrlEncode का उपयोग करके उन्हें वापस जोड़ने से पहले समाप्त कर दिया। विंडोज एक्सप्लोरर अन-एन्कोडेड क्रेडेंशियल स्वीकार करेगा (जहां वह उपयोगकर्ता हमारे ऐप में कॉपी/पेस्ट कर रहे हैं)। इसके अलावा, जब यूआरआई बनाता है तो उरीबिल्डर उन्हें एन्कोड नहीं करता है। मैं उम्मीद करता हूं कि "बिल्डर" ऐसी चीजों को संभालने के लिए; एक पार्सर को पास करने से पहले सामान को पार्स करना परेशान करना मुश्किल है। :) –
मैं इस एक छोटे से आगे ले लिया और विभाजन यूज़रनेम और पासवर्ड के लिए कुछ यूआरआई एक्सटेंशन लिखा था। मेरा समाधान साझा करना चाहता था।
public static class UriExtensions
{
public static string GetUsername(this Uri uri)
{
if (uri == null || string.IsNullOrWhiteSpace(uri.UserInfo))
return string.Empty;
var items = uri.UserInfo.Split(new[] { ':' });
return items.Length > 0 ? items[0] : string.Empty;
}
public static string GetPassword(this Uri uri)
{
if (uri == null || string.IsNullOrWhiteSpace(uri.UserInfo))
return string.Empty;
var items = uri.UserInfo.Split(new[] { ':' });
return items.Length > 1 ? items[1] : string.Empty;
}
}
- 1. << से भिन्न कैसे है?
- 2. <% $, <% @, <% =, <% # ... सौदा क्या है?
- 3. ब्राउज़र <url> # <anchor>
- 4. 'ऑपरेटर <<' के लिए 'std :: cout <<' में अस्पष्ट अधिभार <<
- 5. कैसे पारित करने के लिए <option><select> से मूल्य कार्रवाई
- 6. सी ++ cout के लिए प्रारूप << स्वचालित रूप से
- 7. कैसे बचें << - असाइन
- 8. ओवरलोडिंग ऑपरेटर << - सी ++
- 9. <: <, <% <, =: = कंपाइलर में काम का स्केल कार्यान्वयन वास्तव में कैसे करता है?
- 10. एएसपी.Net में, <% = और <% #
- 11. >>>>,> |, ||, | <, <, <<
- 12. PHP क्या <<< मतलब है?
- 13. svn: मौजूदा dierctory <foo> के यूआरएल <foo> अपेक्षित यूआरएल <foo>
- 14. cout << स्ट्रिंगस्ट्रीम
- 15. का अर्थ << = और | =
- 16. कैसे PHP से कैसे <strong>जड़</strong> उपयोगकर्ता (सभी अनुमतियों के साथ) और नहीं <strong>कोई भी</strong> उपयोगकर्ता के तहत PHP से एक bash स्क्रिप्ट चलाने के लिए रूट उपयोगकर्ता
- 17. सोप-त्रुटि: पार्स डबल्यूएसडीएल: <URL>
- 18. सी # IENumerable <Base> से IENumerable <Derived>
- 19. <MailDefinition> और <%%> प्लेसहोल्डर
- 20. कन्वर्ट & lt से <xml दस्तावेज़
- 21. << ऑपरेटर और प्रत्यावर्तन
- 22. PHP व्यंजक <<< EOB
- 23. <%! %> और <% %>
- 24. ओवरलोडिंग ऑपरेटर << सरणियों के लिए
- 25. पीएचपी: <<< ob_start बनाम
- 26. PHP में <<< ईओडी का उपयोग क्या है?
- 27. प्रश्न <<
- 28. अधिभार ऑपरेटर << सरणी के लिए
- 29. अंतर << a_value
- 30. PHP में, "<<<" क्या दर्शाता है?
आपने वास्तव में क्या प्रयास किया है? अपेक्षित परिणाम क्या था? अगर आपको नतीजे नहीं मिले तो आपको वास्तव में क्या मिला? क्षमा करें, यह "मुझे teh codez" साइट नहीं है - अगर यह अस्पष्ट है तो कृपया एफएक्यू पढ़ें। –
एफएक्यू से: _ "आपको केवल वास्तविक समस्याओं के आधार पर व्यावहारिक, उत्तरदायी प्रश्न पूछना चाहिए।" _ और _ "हम सभी यहां एक साथ सीखने के लिए हैं। उन लोगों के प्रति सहिष्णु रहें जो आपको पता नहीं हो सकता है।" _ –
बेहतर सवाल यह है कि इसे कैसे निकालें: पी – Jay