首页 > 编程语言 >Java 提取url的域名

Java 提取url的域名

时间:2022-10-16 16:36:15浏览次数:53  
标签:Java String url hostName URL 域名 java

  有时候,我们需要校验URL的域名是否在白名单中,故需要提取其中的域名。可以使用java标准类库java.net.URL进行提取,方法如下:

import org.apache.commons.lang3.StringUtils;

import java.net.MalformedURLException;
import java.net.URL;

public static String getHostName(String urlStr) {
  String hostName = "";
  if (StringUtils.isBlank(urlStr)) {
    return hostName;
  }
  try {
    URL url = new URL(urlStr);
    hostName = url.getHost(); // 获取主机名
  } catch (MalformedURLException e) {
    System.out.println("获取域名失败," + e);
  }
  return hostName;
}

  为了验证准确性,提供了如下测试用例:

    public static void main(String[] args) {
        String myUrl = "http://www.iciba.com/word?w=Wiener";
        System.out.println(getHostName(myUrl));
        myUrl = "https://www.cnblogs.com/east7/p/10462279.html";
        System.out.println(getHostName(myUrl));
    }

  如果需要,可以替换成自己需要的URL字符串进行验证。

标签:Java,String,url,hostName,URL,域名,java
From: https://www.cnblogs.com/east7/p/16796439.html

相关文章

  • java问题解答
    因为子类继承自父类,会沿用父类的东西(没被覆盖的函数以及可见的成员变量等),而这些东西子类是没有的,需要先初始化父类才能被使用子类构造方法中调用父类构造方法,一个作用是......
  • Java基础(七)| 类、对象、封装和构造详解
    ⭐本专栏旨在对JAVA的基础语法及知识点进行全面且详细的讲解,完成从0到1的java学习,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握JAVA编程,同时为后续的框架学习,进阶开......
  • java学习笔记36
    面向对象super详解子类调用父类的方法与属性packageoopzong.oop.oop4;​publicclassApplication{  publicstaticvoidmain(String[]args){    Stud......
  • 原生JavaScript
    原生JavaScript为了方便查看.所有的js和css代码都是嵌入式直接写在html代码中1.js的引入方式<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8">......
  • JavaScript笔记
    JavaScript原型链每创建一个函数,解析器都会想函数中添加一个prototype原型属性,这个prototype属性对应着一个对象,这个对象就是原型对象如果该函数是普通函数调用,则proto......
  • Java类和对象小结
    类与对象类是一个模板:抽象的。对象是一个具体的实例:具体的方法定义、调用对应的引用引用类型:基本类型(8大基本类型)对象是通过引用来操作的属性:字段Fie......
  • Java中的构造器
    Java中的构造器构造器必须和类名相同Alt+insert选择第一个是创建构造器的快捷键无参数构造器publicPerson(){   }有参数构造器publicPerson(Stringnam......
  • Nacos启动报错:Please set the JAVA_HOME variable in your environment, We need java
    可能原因:1.JDK版本过低(应不低于1.8)2.未设置jdk环境变量(可能性低)3.jdk环境变量设置不适配nacos(博主就是这个原因) 解决方案:1.直接在startup.cmd文件中设置JA......
  • 面试题:JAVA多线程交替打印ABC
    JAVA实现,3个线程交替A,B,C,一共完成10次“ABC”打印,结束后打印“END”。打印示例:abcabcabcabcabcabcabcabcabcabcEND 分析:打印10次ABC,3个线程分别打印A,B......
  • 【解决】Intellij IDEA打开报错Caused by: java.net.BindException: Address already
    jetbrainsPyCharmWebStormcom.intellij.ide.plugins.StartupAbortedException:Cannotstartapp原因是IDEA需要在端口6942~6991间找到一个可用端口并绑定但目前这个......