在Java中,可以使用java.net.URL
類和try-catch
語句來判斷URL的有效性
import java.net.MalformedURLException;
import java.net.URL;
public class URLValidator {
public static void main(String[] args) {
String url1 = "https://www.example.com";
String url2 = "invalid_url";
System.out.println("URL 1: " + isValidURL(url1));
System.out.println("URL 2: " + isValidURL(url2));
}
public static boolean isValidURL(String urlString) {
try {
URL url = new URL(urlString);
url.toURI(); // 這一步是為了檢查URL的協議、主機、端口等是否有效
return true;
} catch (MalformedURLException | URISyntaxException e) {
return false;
}
}
}
在這個示例中,我們定義了一個名為isValidURL
的方法,該方法接受一個字符串參數urlString
。我們嘗試使用URL
類創建一個URL對象,并將其轉換為URI。如果沒有拋出MalformedURLException
或URISyntaxException
異常,則認為URL有效,返回true
;否則,返回false
。
請注意,這種方法只能檢查URL的格式是否正確,而不能保證URL實際上指向一個存在的資源。要檢查URL是否指向一個有效的資源,你需要發送一個HTTP請求(例如,使用java.net.HttpURLConnection
類)并檢查響應狀態碼。