必须携带http或https
public static boolean isValidUrl(String urlString) {
URI uri;
try {
uri = new URI(urlString);
} catch (URISyntaxException e) {
return false;
}
if (uri.getHost() == null) {
return false;
}
return "http".equalsIgnoreCase(uri.getScheme()) || "https".equalsIgnoreCase(uri.getScheme());
}
不携带http/https
public static boolean isValidIp(String urlString) {
URI uri;
try {
uri = new URI(urlString);
} catch (URISyntaxException e) {
return false;
}
if (uri.getHost() != null) {
return false;
}
return true;
}
只匹配域名,不匹配ip
public static Boolean domainCheckLegal(String domain) throws URISyntaxException {
URI uri = new URI(domain);
String host = uri.getHost();
String regex =
"^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$";
String regex1 =
"^((2((5[0-5])|([0-4]\\d)))|([0-1]?\\d{1,2}))(\\.((2((5[0-5])|([0-4]\\d)))|([0-1]?\\d{1,2}))){3}$";
return host.matches(regex) && !host.matches(regex1);
}
检验远程端口是否可以链接
public static boolean portIsUsing(String host, int port) {
if (host != null && host.startsWith("https://")) {
host = host.substring(8);
}
if (host != null && host.startsWith("http://")) {
host = host.substring(7);
}
try {
InetAddress theAddress = InetAddress.getByName(host);
new Socket(theAddress, port);
return true;
} catch (Exception ignored) {
return false;
}
}