JAVA判断一个URL是不是有效
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA判断一个URL是不是有效相关的知识,希望对你有一定的参考价值。
1、有效的定义是url合法还是url可以访问?2、如果仅仅是地址的书写合法性可以通过正则或者类型转换来校验合法性
3、如果是联通性有效,即地址需要能正确访问的话需要构建HTTP(HTTPS等)请求来看response的返回码是不是200、302、500等若果是404则标识无效。 参考技术A /** * 验证URL合法性 * * @param url * @return true:合法 false:不合法 */public static boolean checkUrl(String url) return url.matches("^((https|http|ftp|rtsp|mms)?://)" + "+(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" + "(([0-9]1,3\\.)3[0-9]1,3" + "|" + "([0-9a-z_!~*'()-]+\\.)*" + "([0-9a-z][0-9a-z-]0,61)?[0-9a-z]\\." + "[a-z]2,6)" + "(:[0-9]1,10)?" + "((/?)|" + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$");
Java判断url(链接)是否有效
在java中如何判断url是否有效?博主在这给大家封装了一个方法大家直接拿去用即可。
package com.jzmy.specialist.entity.util;
import java.net.HttpURLConnection;
import java.net.URL;
/**
@author mengzhichao
@create 2022-11-09-11:24
*/public class UrlUtil
/**
* 判断链接是否有效
* 输入链接
* 返回true或者false
*/
public static boolean isUrlValid(String strLink)
URL url;
try
url = new URL(strLink);
HttpURLConnection connt = (HttpURLConnection)url.openConnection();
connt.setRequestMethod("HEAD");
String strMessage = connt.getResponseMessage();
if (strMessage.compareTo("Not Found") == 0)
return false;
connt.disconnect();
catch (Exception e)
return false;
return true;
这个方法在遇到正确的 url 就会返回 true,错误的路径(包括打不开404等)
都会返回 fales。
- 下面我们进行一下相关的测试。
public static void main(String[] args)
boolean trueUrl = isUrlValid("https://www.baidu.com");
boolean falseUrl = isUrlValid("https://www.fjdksjfdskfgmmgmgg.com");
System.out.println("正确的链接:"+ trueUrl);
System.out.println("错误的链接:"+ falseUrl);
这个方法个别的链接会出现误判的操作,大家有更好的方法可以在评论区留言哦!
以上是关于JAVA判断一个URL是不是有效的主要内容,如果未能解决你的问题,请参考以下文章