url转义

URL特殊字符需转义

1、空格换成加号(+) 
2、正斜杠(/)分隔目录和子目录 
3、问号(?)分隔URL和查询 
4、百分号(%)制定特殊字符 
5、#号指定书签 
6、&号分隔参数

转义字符的原因:

如果你的表单使用get方法提交,并且提交的参数中有“&”等特殊符的话,如果不做处理,在service端就会将&后面的作为另外一个参数来看待。例如 
表单的action为list.jsf?act=go&state=5 
则提交时通过request.getParameter可以分别取得act和state的值。 
如果你的本意是act=‘go&state=5‘这个字符串,那么为了在服务端拿到act的准确值,你必须对&进行转义

url转义字符原理:

将这些特殊的字符转换成ASCII码,格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是"%20"。

URL特殊符号及对应的十六进制值编码:

1. +  URL 中+号表示空格 %2B 
2. 空格 URL中的空格可以用+号或者编码 %20 
3. /  分隔目录和子目录 %2F  
4. ?  分隔实际的 URL 和参数 %3F  
5. % 指定特殊字符 %25  
6. # 表示书签 %23  
7. & URL 中指定的参数间的分隔符 %26  
8. = URL 中指定参数的值 %3D

时间: 2024-10-13 10:05:47

url转义的相关文章

javascript之url转义escape()、encodeURI()和decodeURI()

我们可以知道:escape()除了 ASCII 字母.数字和特定的符号外,对传进来的字符串全部进行转义编码,因此如果想对URL编码,最好不要使用此方法.而encodeURI() 用于编码整个URI,因为URI中的合法字符都不会被编码转换.encodeURIComponent方法在编码单个URIComponent(指请求参数)应当是最常用的,它可以讲参数中的中文.特殊字符进行转义,而不会影响整个URL. 请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别

.net 4.5版本WebRequest和Webclient中的一个url转义bug

有时我们把一个url带入到另一个url中作为参数,这个参数就需要转义.比如: http://www.baidu.com/s?wd=http%3A%2F%2Fwww.baidu.com 在代码中进行访问这段地址的时候,我们也会期望它照着给的地址访问,在.net 4.0中,确实会如此. 但是如果切换为.net 4.5版本,你就会发现你访问的url实际变成了: http://www.baidu.com/s?wd=http:%2F%2Fwww.baidu.com 大多数情况下它不会造成什么影响. 但一旦

html、javascript、url特殊字符的转义诠释及使用方法详解

html.javascript.url特殊字符转义在实际编程中都是有用到的,有的人对特殊字符转义的使用不是很清楚,下面就对html,javascript,url特殊字符的转义做一下说明和归纳. html特殊字符转义 html特殊字符转义的格式规定: & + 实体(Entity)或#加上实体(Entity) + “;” 例如:& 转义后变成了 & amp; 还 记得刚学习html那会,做网页布局,需要用到很多空格,于是就不停地按空格来影响布局,可是看到效果却一点没有变化.原因是htm

php url字符转义操作

遇到一段代码,从数据库里读出来带 \ 字符 需要转义成中文~ 用到url_decode(); 1 //$info 为刚从数据库中读取的二维数组 2 3 foreach($info as $key1 => &$value1) { 4 foreach($key1 as $key2 => &$value2) { 5 if($key2 == 'url转义字段' ) //判断是否是要转义的字段 6 { 7 $value = url_decode(str_replace('\\','%',

为什么要对url进行encode

发现现在几乎所有的网站都对url中的汉字和特殊的字符,进行了urlencode操作,也就是: http://hi.baidu.com/%BE%B2%D0%C4%C0%CF%C8%CB/creat/blog/ 这个样子,中间%形式的,肯定就是我的登录用户名称了吧. 为什么对这些字符进行了u的编码形式,是为了字符编码(gbk.utf8)还是为了不出现特殊的字符在url中?都知道要转,但是转了的真正好处呢.查看了网上的很多资料,也没有找到更加准确的说法. url转义其实也只是为了符合url的规范而已.

java.net.Url类的应用(网络编程)

一.认识URL 类 URL 代表一个统一资源定位符,它是指向互联网"资源"的指针.资源可以是简单的文件或目录,也可以是更为复杂的对象的引用,例如对数据库或搜索引擎的查询. 简单的可以把URL理解为包含:协议.主机名.端口.路径.查询字符串和参数等对象.每一段可以独立设置. 应用程序也可以指定一个"相对 URL",它只包含到达相对于另一个 URL 的资源的足够信息.HTML 页面中经常使用相对 URL. 相对 URL 不需要指定 URL 的所有组成部分.如果缺少协议.

html特殊字符转义问题(转!)

html.javascript.url特殊字符转义在实际编程中都是有用到的,有的人对特殊字符转义的使用不是很清楚,下面就对html,javascript,url特殊字符的转义做一下说明和归纳. html特殊字符转义 html特殊字符转义的格式规定: & + 实体(Entity)或#加上实体(Entity) + ";" 例如:& 转义后变成了 & amp; 还记得刚学习html那会,做网页布局,需要用到很多空格,于是就不停地按空格来影响布局,可是看到效果却一点没有

js jQuery中Ajax请求参数转义问题

前几天在工作的时候,在和移动端做接口的时候发现,前端在传递参数的时候其中有+或者&时候,服务器获得串中+或者&都变成了空格,后台Java程序在解析的时候出错了! 具体代码如下: $(function () { var isPc = !(window.__detect.android||window.__detect.ios||window.__detect.phone), moonCakeNums, moonCakeIdentify= 0, <span style="col

url传参包含json

主要包含2个点: 1.url转义:用全局函数 encodeURIComponent 2.json对象转字符串 /** * 功能:将json对象转换为字符串. * add by wuzz 2017-7-12 **/ function JsonObj2String(jsonObj) { var jStr = "{ "; if (JSON) { //IE8+ jStr = JSON.stringify(jsonObj); }else{ for(var item in jsonObj){ jS