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

时间:2012-12-07 07:52:11

标签: c# httpwebrequest escaping uri

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

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

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

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

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

此符号“\”将替换为“%5C”。对我来说,不要发生什么至关重要?

我可以通过以下方式避免这种情况:

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

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

1 个答案:

答案 0 :(得分:2)

使用此

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