Java中URL类中的getHost和getAuthority方法有什么区别?

前端之家收集整理的这篇文章主要介绍了Java中URL类中的getHost和getAuthority方法有什么区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一系列不同形式的字符串(URL):

> http:// domain name.anything / anypath
> https:// dmain name.anything / anypath
> http://www.domain name.anything / anypath
> https://www.dmain name.anything / anypath

这些字符串保存在CSV文件中.我需要解析每个URL才能获得域名,域名.一切.即第一个之后的部分.在第一个/之前.

我使用split方法分隔字符串,然后将每个字符串转换为URL,然后使用toAuthority函数获取域名.问题在于,对于我来说,机构和主持人都做同样的工作,它们包括www.我不想要的.虽然,在Oracle的tutorial中,似乎toAuthority应该返回没有www的域名.

如何在没有www的情况下提取域名部分.的URL?

解决方法

What is the difference between the getHost and getAuthority methods in the URL class?

要真正理解这一点,你应该阅读URI specification – RFC 2396.

简短的回答是权限组件由主机组件以及可选的端口号,用户名和密码组成……取决于所使用的URL方案.

How can I extract the domain name part only without the “www.” of the URL ??

调用getHost(),测试它是否以字符串“www”开头.如果它,你删除它.

但在你开始做这样的事情之前,你需要了解删除“www.”可能会为您提供一个不起作用的URL,或者解析为与原始URL解析到的文档或服务不同的文档或服务.无偿收集URL是一个坏主意……除非您详细了解有关网站的组织方式.

“foo.com”和“www.foo.com”是同一个地方的惯例只是一个惯例,很多网站都没有实现它.删除“www.”这将是一个坏主意,因为它可能会将可解析的URL转换为无法解析的URL.

猜你在找的Java相关文章