与dontEscape的Uri构造函数已经过时,什么是交替?

Aln*_*dru 15 c# uri escaping httpwebrequest

我的问题是关于将URL传递给HttpWebRequest而不转义,我搜索了论坛和互联网,但我找不到一个好的解决方案.

我有以下网址:string URL= www.website.com/sub/redirec\t\bs\dd

所以,当我创建这样的uri时:

Uri uri = new Uri(URL);
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(uri);
Run Code Online (Sandbox Code Playgroud)

在这种情况下,在get方法中,我将得到以下URL:www.website.com/sub/redirect%5Ct%5Cbc%5Cdd

此符号"\"将替换为"%5C".什么对我不至关重要?

我可以通过以下方式避免:

Uri uri = new Uri(URL, true); //bool dontEscape
Run Code Online (Sandbox Code Playgroud)

但是这个构造函数已经过时了.如何在不使用过时的情况下获得相同的效果?

PaR*_*RaJ 0

用这个

Uri uri = new Uri(Uri.EscapeUriString(URL)); 
Run Code Online (Sandbox Code Playgroud)

  • 现在相当。试试这个: `Uri uri = new Uri(Uri.EscapeUriString("http://example.com?param=emai%2Btag%40gmail.com"));` 不起作用 (4认同)