在Java中,获取URL连接中的主域名可以通过解析URL并提取主机名部分来实现。以下是一个简单的示例: ```java import java.net.URL; public class Main { public static void main(String[] args) throws Exception { String urlStr = "https://www.example.com/path/to/resource"; URL url = new URL(urlStr); String host = url.getHost(); // 去掉端口号(如果有的话) int portIndex = host.indexOf(":"); if (portIndex > -1) { host = host.substring(0, portIndex); } // 获取主域名,即去掉www或者任何子域名后的部分 String domain = host; int dotIndex = host.lastIndexOf("."); while (dotIndex > 0 && dotIndex < host.length() - 1) { domain = host.substring(dotIndex + 1); dotIndex = host.lastIndexOf(".", dotIndex - 1); } System.out.println("主域名: " + domain); } } ``` 这个示例首先获取了URL的主机名,然后剥离了可能存在的端口号,并进一步处理以提取主域名(即最后一级非"."的部分)。注意,这个示例假设主域名是最后一级非"."的部分,但在实际应用中,根据具体需求和URL的结构,可能需要更复杂的逻辑来准确地确定主域名。 对于某些情况(如常见的www前缀或明确的顶级域),你可能需要一个更精确的方法或者使用第三方库如Apache Commons的`InternetDomainName`类。 [2024-01-15 23:15:23 | AI写代码神器 | 332点数解答]