我有一系列不同形式的字符串(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才能获得域名,domain name.anything
.即,在第一部分.
和前第一/
.
我使用split
方法分隔字符串,然后将每个字符串转换为URL,然后使用该toAuthority
函数仅获取域名.问题是,toAuthority
并且toHost
正在为我做同样的工作,它们包括www.
我不想要的.虽然,在Oracle 的教程中,似乎toAuthority
应该没有返回域名www.
.
如何在不www.
使用URL的情况下提取域名部分?
Ste*_*n C 14
URL类中的getHost和getAuthority方法有什么区别?
要真正理解这一点,您应该阅读URI规范 - RFC 2396.
简短的回答是权限组件由主机组件以及可选的端口号,用户名和密码组成......取决于所使用的URL方案.
如何在没有"www"的情况下提取域名部分.的URL?
你打电话getHost()
,测试它是否以字符串开头,"www."
如果是,你将其删除.
但在你开始做这样的事情之前,你需要了解删除"www." 可能会为您提供一个不起作用的URL,或者解析为与原始URL解析到的文档或服务不同的文档或服务.无偿收集URL是一个坏主意......除非您详细了解有关网站的组织方式.
"foo.com"和"www.foo.com"是同一个地方的惯例只是一个惯例,很多网站都没有实现它.删除"www." 这将是一个坏主意,因为它可能会将可解析的URL转换为无法解析的URL.
归档时间: |
|
查看次数: |
6291 次 |
最近记录: |