最近需要把一个url的根域名找出来,看着挺简单的需求,结果写出来的代码 却有bug:
public String getSourceDomain(String sourceLink) { if (sourceLink == null) { return null; } try { URI url = new URI(sourceLink); String host = url.getHost(); int split = host.indexOf('.'); return "www" + host.substring(split, host.length()); } catch (URISyntaxException e) { return null; } }
这段代码的问题在于,如果只能处理movie.douban.com这种情况,如果是douban.com,或者test.movie.douban.com则无法处理,正确的做法
public String getSourceDomain() { if (sourceLink == null) { return null; } try { URI url = new URI(sourceLink); String host = url.getHost(); String[] hostStr = host.split("\\."); int length = hostStr.length; if (hostStr.length >= 2) { return "www." + hostStr[length - 2] + "." + hostStr[length - 1]; } else { return host; } } catch (URISyntaxException e) { return null; } }
相关推荐
【uditor自定义图片存储路径和图片读取域名2】是一个关于优化和扩展富文本编辑器uditor的实践,主要涉及两个核心知识点:自定义图片存储路径和设置图片读取域名。uditor是一款广泛使用的JavaScript富文本编辑器,...
可以参考MobiForge等资源获取更多关于移动端设计的知识。 3. **版本控制系统**:熟悉版本控制系统(如CVS、Subversion、Git等)对于管理代码变更至关重要,同时备份数据也是一项重要的实践。 4. **用户引导**:...
和上面配置是一样的道理,可以在相同 一级域名 下的所有域名都可以获取到登录的信息。 四、简单实现了单个帐号只能在一处登录。 我们在其他的系统中可以看到,单个帐号只允许一人使用,在A处登录了,B处再登录,那A...
24. URL 结构:Http://www.panda.com.cn 中,cn 代表顶级域名,表示中国。 25. Access 数据库:Access 是 Microsoft 提供的关系型数据库管理系统,用于存储、管理和检索数据。 以上就是这些试题所涵盖的主要知识点...
虽然具体的变更日志没有提供,但通常新版本会包含性能优化、安全修复、bug修复和对新特性的支持。对于1.15.5,可以预期它在稳定性和安全性上有所提升。 总结,Nginx 1.15.5作为一款强大的Web服务器,其性能、灵活性...