判断URL字符串是否合法
发布日期:2021-06-30 12:28:21
浏览次数:5
分类:技术文章
本文共 1808 字,大约阅读时间需要 6 分钟。
URIs
foo://example.com:8042/over/there?name=ferret#nose \_/ \______________/\_________/ \_________/ \__/ | | | | | scheme authority path query fragment | _____________________|__ / \ / \ urn:example:animal:ferret:nose
第一个例子是最常见的,博客网址
http://blog.csdn.net/javaedge/ 其中http是scheme,更常用的说法是协议;blog.csdn.net是authority,也就是主机;/javaedge/是path。第二个例子“磁力链接”。
public static void main(String[] args) { try { URL url = new URL("http://www.JavaEdge.com/index.html?language=cn#java"); System.out.println("URL 为:" + url.toString()); System.out.println("协议为:" + url.getProtocol()); System.out.println("验证信息:" + url.getAuthority()); System.out.println("文件名及请求参数:" + url.getFile()); System.out.println("主机名:" + url.getHost()); System.out.println("路径:" + url.getPath()); System.out.println("端口:" + url.getPort()); System.out.println("默认端口:" + url.getDefaultPort()); System.out.println("请求参数:" + url.getQuery()); System.out.println("定位位置:" + url.getRef()); } catch (IOException e) { e.printStackTrace(); } }
使用URI这个类来判断一个网址的合法性是比较合适的,具体步骤如下:
先新建一个URI对象;
如果创建失败,则认为该URL不合法; 如果创建成功,再检查host是否为null; 如果host不为null,在检查协议是否是应用中能够处理的。 最终的代码如下。public static boolean isValidUrl(String urlString){ URI uri = null; try { uri = new URI(urlString); } catch (URISyntaxException e) { e.printStackTrace(); return false; } if(uri.getHost() == null){ return false; } if(uri.getScheme().equalsIgnoreCase("http") || uri.getScheme().equalsIgnoreCase("https")){ return true; } return false;}
转载地址:https://javaedge.blog.csdn.net/article/details/109197957 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月26日 10时51分35秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
2019NOIP D4题 加工领奖
2019-04-30
2021.5.19 JS高级第二天
2019-04-30
啊沙发沙发
2019-04-30
SpringBoot内置Tomcat配置参数
2019-04-30
局部加权回归
2019-04-30
Mysql 入门
2019-04-30
linux 查看文件夹权限
2019-04-30
ubuntu 快捷键
2019-04-30
linux 根目录下文件夹分析
2019-04-30
linux 查看分区和文件大小
2019-04-30
Not using PCAP_FRAMES 解释(snort中)
2019-04-30
技术转管理?这些“坑”你要绕道走
2019-04-30
领域驱动设计(DDD)前夜:面向对象思想
2019-04-30
Camera驱动调试小记
2019-04-30
对于中断函数返回值的分析
2019-04-30
四线触摸屏原理
2019-04-30
C/C++如何返回一个数组/指针
2019-04-30
腾讯AI语音识别API踩坑记录
2019-04-30
YbtOJ——递推算法【例题4】传球游戏
2019-04-30
YbtOJ——字符串处理【例题1】数字反转
2019-04-30