当前位置: 首页 > 面试题库 >

获取URL的第二级域(java)

孙经艺
2023-03-14
问题内容

我想知道java中是否有解析器或库可用于提取URL中的第二级域(SLD)-或无法通过算法或正则表达式来执行此操作。例如:

URI uri = new URI("http://www.mydomain.ltd.uk/blah/some/page.html");

String host = uri.getHost();

System.out.println(host);

打印:

mydomain.ltd.uk

现在,我想做的就是可靠地识别SLD(“ ltd.uk”)组件。有任何想法吗?

编辑: 我理想上正在寻找一个通用的解决方案,所以我会匹配“ police.uk”中的“ .uk”,“ bbc.co.uk”中的“ .co.uk”和“
amazon”中的“ .com” .com”。

谢谢


问题答案:

不知道您的目的,但二级域名对您可能没有多大意义。您可能需要找到公共后缀,而其下面的域正是您要寻找的。

Apache Http Component(HttpClient 4)附带了用于处理此问题的类,

org.apache.http.impl.cookie.PublicSuffixFilter
org.apache.http.impl.cookie.PublicSuffixListParser

您需要从此处下载公共后缀列表,

http://mxr.mozilla.org/mozilla-
central/source/netwerk/dns/effective_tld_names.dat?raw=1



 类似资料:
  • 问题内容: 给定一个URL,我想提取域名(它不应包含“ www”部分)。网址可以包含h​​ttp / https。这是我编写的Java代码。尽管它似乎运行良好,但是有没有更好的方法或有一些极端的情况可能会失败。 输入:http : //google.com/blah 输出:google.com 问题答案: 如果要解析URL,请使用java.net.URI。 java.net.URL有很多问题-它的

  • 问题内容: 例如,地址为: 我想将子域保存到变量中,这样我就可以这样做; 问题答案: 会将URL拆分为协议,位置,端口等。然后,您可以通过拆分位置来获得子域。

  • 问题内容: 我需要从给定的URL中提取完整的协议,域和端口。例如: 问题答案: 首先获取当前地址 然后只需解析该字符串 您的网址是: 希望这可以帮助

  • 1.5. 获取URL 对于很多现代应用来说,访问互联网上的信息和访问本地文件系统一样重要。Go语言在net这个强大package的帮助下提供了一系列的package来做这件事情,使用这些包可以更简单地用网络收发信息,还可以建立更底层的网络连接,编写服务器程序。在这些情景下,Go语言原生的并发特性(在第八章中会介绍)显得尤其好用。 为了最简单地展示基于HTTP获取信息的方式,下面给出一个示例程序fe

  • 我有一个使用WordPress REST API和高级自定义字段ACF的网站。我使用插件ACF TO REST API向REST API公开AC字段。目前为止,一切都好。 但是现在我想在wordpress后端的预览修改按钮中添加正常的功能。我设法改变了按钮的功能,我还知道按下它会自动将文章保存到新的版本中。要访问和显示预览,我必须获得帖子的最新版本的数据。我可以这样做,但是REST API只暴露核

  • 我正在使用JavaFx对GUI进行编程,我真的不知道如何连接所有内容。我有一个主窗口,在主窗口中我有一个按钮可以打开另一个窗口,允许我选择客户。现在我已经在努力将选定客户的信息返回给主窗口,因为我没有打开它的返回方法。 我是这样打开的:public void openSecondWindow(ActionEvent事件){ 我自己没有初始化第二个窗口,也没有像第二个窗口sc=new第二个窗口()这