2012-12-07 15 views
9

Soruma soru göndererek, bir URL'yi HttpWebRequest'e göndermeden önce, forumlarda ve internette aradım, ancak bunun için iyi bir çözüm bulamadım.DontEscape ile Uri kurucusu eskidir, alternatieve nedir?

Ben şu URL: www.website.com/sub/redirect%5Ct%5Cbc%5Cdd

bu tabela: Sizi URL aşağıdaki alacak bir elde etme yöntemiyle bu durumda

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

: Ben bir böyle uri oluştururken Yani string URL= www.website.com/sub/redirec\t\bs\dd

"\", "% 5C" ile değiştirilecektir. Olmamam için çok önemli olan nedir?

Ben kurtulabilirsiniz tarafından:

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

Ama bu yapıcı kullanılmıyor. Eski moda kullanmadan aynı etkiye nasıl sahip olunur?

+0

Sizin URL geçerli bir URI değil. Doğru protokole sahip bir URI oluşturmak için * UriBuilder * kullanın. – IllidanS4

cevap

7

kullanımı bu

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

Şimdi oldukça. Bunu deneyin: Uri uri = yeni Uri (Uri.EscapeUriString ("http://example.com?param=emai%2Btag%40gmail.com")) '' çalışmıyor – Alex