您的位置:首页 > 其它

URL转义

2015-12-14 20:57 330 查看
在处理一些url的时候常常会出现一些让人意想不到的情况,比如:当图片的链接中有空格的时候,

this.src='http://img.cits-sh.com/UploadImgs/beihaidao20/beihaidao-big (7).jpg'

这并没有任何问题,只是命名存在不合理,浏览器也能正常解析url:
http://img.cits-sh.com/UploadImgs/beihaidao20/beihaidao-big%20(7).jpg
我们发现空格被替换成了%20,但是如果你尝试将url做其他操作的时候,很可能会出现404链接:

<img src="/images/grey.gif" data-original=@string.Format("{0}{1}", apiUrl,url)/>

这时候的url会变成这样:

data-original="http://img03.store.sogou.com/net/a/04/link?appid=100520033&w=390&url=http://img.cits-sh.com/UploadImgs/beihaidao20/beihaidao-big" (7).jpg

这个时候可想而知,图片是没办法正常地显示了。

ASP.NET中解决办法也很简单:

<img src="/images/grey.gif" data-original=@string.Format("{0}{1}", apiUrl, Url.Encode(url))/>

以下是常见转义符:

+URL 中+号表示空格%2B
' 'URL中的空格可以用+号或者编码 %20
/  分隔目录和子目录 %2F
?分隔实际的URL和参数 %3F
%指定特殊字符 %25
#表示书签%23
&URL 中指定的参数间的分隔符 %26
=URL 中指定参数的值 %3D
另外介绍一个很好用的图片自适应剪裁api地址:"http://img03.store.sogou.com/net/a/04/link?appid=100520033&w=390&url

通过设置w的值,你的图片会自动等像素或比例缩放。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: