url完整编码,防止冒号被编码
2015-06-05 18:33
274 查看
问题描述:有时候我们需要将一整条url编码,但如果直接整体编码的话,冒号都会被编码;
例如:http://192.168.1.85:8080/Files/1\\Paper\\2015-06-05\\150602 高分子网站论文投稿BUG-20150605164633294.doc这条字符串,如果直接编码,http链接就会失效。
解决方案:我想到的解决方法是先用长文本代替需要保留的字符,编码后代替回来;
例如:http://192.168.1.85:8080/Files/1\\Paper\\2015-06-05\\150602 高分子网站论文投稿BUG-20150605164633294.doc这条字符串,如果直接编码,http链接就会失效。
解决方案:我想到的解决方法是先用长文本代替需要保留的字符,编码后代替回来;
public static String restoreUrl(String url){ //修正反斜杠为斜杠 url=url.replace("\\", "/"); //使用长文本代替要保留字符串 url=url.replace(":", "_*colon*_") .replace("/", "_*slash*_") .replace("\\", "_*backslash*_") .replace(" ", "_*blank*_") .replace("?", "_*question*_") .replace("=", "_*equal*_") .replace(";","_*semicolon*_"); //进行编码 url=EncodingUtil.URLEncode(url); url=url.replace("_*colon*_",":" ) .replace("_*slash*_","/") .replace( "_*backslash*_","\\") .replace( "_*blank*_","%20") .replace( "_*question*_","?") .replace("_*equal*_","=" ) .replace("_*semicolon*_",";"); return url; }
相关文章推荐
- 第一阶段小组互评及反馈
- 关于写手机页面demo的准备工作
- android桌面快捷方式跳转到指定activity
- SRM144 DIV2
- 笔记一下:配置nginx输入任何地址都跳转至维护页面
- python django直接执行sql语句
- [PHP] - Laravel - CSRF token禁用方法
- MySQL 5.5 keepalived + haproxy + MHA 自动容灾
- Sonatype Nexus中Central Repositiories 的配置
- 记2015.05.30北京一日游
- 成功的背后!(给所有IT人)
- Gradle导入so文件
- HTML5加载动画
- rabbitMQ的集群方式和镜像队列
- js的with语句使用方法
- 基础小知识
- hdu1715
- HTML5加载动画
- BZOJ 4059 Cerc2012 Non-boring sequences 线段树+扫描线
- 假设检验