原文链接:https://www.cnblogs.com/dongguacha/p/5787709.html
/** * */ package com.zx.znyd.dao; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * @author lch * @date 2021年6月15日 * @Description TODO * @version */ public class TestURL { /** * @author leichunhui * @date 2021年6月15日 * @Description TODO * @version @param args */ public static void main(String[] args) { /*String validUrl = "https://app.10086.cn/DL100ex?functionCode=BF01000"; String invalidUrl = "https://apiserv.cmicrwx.cn/cmcc/rights/scene/rightsbaw/123index.html#"; boolean isValidUrl = name(validUrl); System.out.println(isValidUrl);*/ System.out.println(getUrl()); } private static boolean name(String urlString) { int status = 404; try { URL url = new URL(urlString); HttpURLConnection oc = (HttpURLConnection) url.openConnection(); oc.setUseCaches(false); oc.setConnectTimeout(3000); // 设置超时时间 status = oc.getResponseCode();// 请求状态 if (200 == status) { // 200是请求地址顺利连通。 System.out.println("连接可用"); return true; } System.out.println("连接打不开!"); return false; } catch (Exception e1) { System.out.println("连接打不开!"); return false; } } private static String getUrl() { String baseURL1 = "点击<a href='https://app.10086.cn/DL100ex?functionCode=BF01000'>【详单查询】</a>,选择通话详单即可。"; String baseURL2 = "点击<a href='https://app.10086.cn/activity/transit/transferDownload.html?targetURL=https%3A%2F%2Fapp.10086.cn%2Fcmcc-app%2Fvoice%2Fvoice.html'>【语音查询】</a>"; String baseURL3="点击<a href='https://app.10086.cn/DL100ex?functionCode=BF01000'>【详单查询】</a>,选择通话详单即可。【为向您提供更好的积分服务,积分商城的积分转赠功能系统升级,暂不支持该业务。不影响正常兑换,恢复时间另行通知。】客户可通过以下方式转移积分:1、发送短信“zz#受让人手机号”至“10658999”;2、积分商城WEB网站:通过登录积分商城网站(https://jf.1008.cn),在“我的帐户”中点击“积分转移”进行转移。"; String regex="(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(baseURL3); if(matcher.find()){ return matcher.group(); } return baseURL3; } }