为什么URL中的大括号({,})必须被转义?

时间:2012-07-31 18:08:05

标签: asp.net

{ braces }放入网址的目的是什么?

请举例说明如何将{ braces }放入网址?

我编码如下,使其在我的应用程序中工作,否则我一直收到错误

Script = Script.Replace("{", "%7B");
Script = Script.Replace("}", "%7D");

3 个答案:

答案 0 :(得分:5)

有一些解释RFC 1738 - Uniform Resource Locators (URL)

  

字符“{”,“}”,“|”,“\”,“^”,“〜”,“[”,“]”和“`”是不安全的,因为网关和其他传输代理是已知的有时修改这些字符..

     

所有不安全的字符必须始终在URL中编码..

答案 1 :(得分:3)

如果我想在Google上搜索这个花括号字符怎么办? https://www.google.com/#hl=en&q=%7D

我们需要此encoding scheme将这些类型的保留字符传递到网络应用程序中。

另外,我发现你一次手动替换这一个字符。这不是一个好主意,已经在Uri类中为此编写了一些内容。

答案 2 :(得分:1)

URL中的大括号没有什么特别之处,它们就像任何其他角色一样。由于它不属于有效字符范围,因此需要进行编码