17

我的问题是关于在不转义的情况下将 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

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

4

1 回答 1

2

用这个

Uri uri = new Uri(Uri.EscapeUriString(URL)); 
于 2012-12-28T19:10:14.213 回答