有些符号(例如“=”)在URL中 直接传递是无效的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。下表中列出了一些URL特殊符号及编码
十六进制值 | |||
1. | + | URL 中+号表示空格 | %2B |
2. | 空格 | URL中的空格可以用+号或者编码 | %20 |
3. | / | 分隔目录和子目录 | %2F |
4. | ? | 分隔实际的 URL 和参数 | %3F |
5. | % | 指定特殊字符 | %25 |
6. | # | 表示书签 | %23 |
7. | & | URL 中指定的参数间的分隔符 | %26 |
8. | = | URL 中指定参数的值 | %3D |
例如: http://localhost:2692/PDFVIEWER/web/viewer.html?file=http://localhost:2692/TOV/DASystem/GetStreaem?path%3Dftp://ftp账号:ftp密码@IP地址/0001/E_File3/2017526/test.PDF
在这里要传递path这个参数,本应该和前面参数file一样写成“http://*/*.html?file=***”,但是,file这个参数本身也是一个http链接,而path参数正是属于file参数包含的链接 ,这就导致file中链接传递的参数 path后面的等于号(“=”)无法识别,这里的解决办法就是使用等于号的转义符来代替等于号(“=”),%3D就是等于号(“=”)的转义符,使用转义符来替换以实现功能。