您如何确保您从用户那里收到的URL是有效的URL,而不仅仅是http://nothing.com

我的代码如下所示:

String urlFromUser = getUrlFromUser(); // might return: http://www.notARealSite.com
URL url = new URL(urlFromUser);

// this might fail
URLConnection urlConnection = url.openConnection();

而try 捕捉是不够的,我想确保该网站是真实的

推荐答案

您还可以使用:

if(new InetSocketAddress(urlFromUser, 80).isUnresolved()) {
    // URL is a not a valid server address
}
else {
    // URL is valid
}

Java相关问答推荐

虚拟线程似乎在外部服务调用时阻止运营商线程

具有默认分支的JUnit代码覆盖率切换声明

如何为具有多对多关系的实体的给定SQL查询构建JPA规范?

ittext pdf延迟签名,签名无效

如何使用Maven和Spring Boot将构建时初始化、跟踪类初始化正确传递到本机编译

try 创建一个对象,使用它,然后使用一条语句将其存储为列表

如何创建一个2d自上而下的移动系统,其中移动,同时持有两个关键是可能的处理?

Mac上的全屏截图在使用JavaFX时不能正常工作吗?

Domino Designer 14中的保存代理添加了重影库

如何仅使用键/ID的一部分(组合)高效地返回映射值?

在添加AdMob时无法为Google Play构建应用程序包:JVM垃圾收集器崩溃和JVM内存耗尽

如何在Cosmos DB(Java SDK)中增加默认响应大小

如果List是一个抽象接口,那么Collectors.toList()如何处理流呢?

带有可选部分的Java DateTimeForMatter

项目react 堆中doOnComplete()和Subscribe()的第三个参数之间的差异

如何在ImageIO或十二只猴子中旋转TIFF CMYK图像?

Java嵌套流查找任意值

JavaFX复杂项目体系 struct

Android无法在Java代码中调用Kotlin代码,原因是在Companion中使用Kotlin枚举时

具有 DayOfWeek 列表的 JPA 实体