我使用的是.NET 3.5.
这里描述的两个解决方案("genericUriParserOptions"配置文件和构造函数参数中的属性"dontEscape")不适用于.NET 3.5.
我希望URI构造函数不会逃避(意味着我想要转义URL部分)任何东西.现在我无法使用配置文件
genericUriParserOptions="DontUnescapePathDotsAndSlashes"
Run Code Online (Sandbox Code Playgroud)
因为此属性仅适用于.NET 4.0.但是我不能"dontEscape"在URI构造函数中使用参数,因为构造函数在.NET 3.5中已经过时并且总是如此false.
如何URI在.NET 3.5中创建带有转义的字符串?
小智 1
您应该仅对用户名或 URL 中可能无效的其他部分进行编码。对 URL 进行 URL 编码可能会导致问题,因为如下所示:
string url = HttpUtility.UrlEncode("http://www.google.com/search?q=Example");
Run Code Online (Sandbox Code Playgroud)
会产生
http%3a%2f%2fwww.google.com%2fsearch%3fq%3dExample
Run Code Online (Sandbox Code Playgroud)
这显然不会奏效。相反,您应该仅对查询字符串中的键/值对的值进行编码,如下所示:
string url = "http://www.google.com/search?q=" + HttpUtility.UrlEncode("Example");
Run Code Online (Sandbox Code Playgroud)
谢谢。
| 归档时间: |
|
| 查看次数: |
1261 次 |
| 最近记录: |