2012-12-07 4 views
9

La mia domanda riguarda il passaggio di un URL a HttpWebRequest senza fuggire, ho cercato nei forum e su internet, ma non ho trovato una buona soluzione per questo.Il costruttore Uri con dontEscape è obsoleto, che cosa è alternateeve?

Ho seguente URL: string URL= www.website.com/sub/redirec\t\bs\dd

Così, quando creo un URI in questo modo:

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

In questo caso su un metodo get che avranno seguente URL: www.website.com/sub/redirect%5Ct%5Cbc%5Cdd

Questo segno "\" sarà sostituito da "% 5C". Cosa è fondamentale per me non succedere?

posso evitare che:

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

Ma questo costruttore è obsoleto. Come avere lo stesso effetto senza usare obsoleto?

+0

L'URL non è un URI valido. Usa * UriBuilder * per costruire un URI con il protocollo corretto. – IllidanS4

risposta

7

uso questo

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

Ora abbastanza. Prova questo: 'Uri uri = new Uri (Uri.EscapeUriString (" http://example.com?param=emai%2Btag%40gmail.com "));' Non funziona – Alex