zoukankan      html  css  js  c++  java
  • 从文本中取出链接地址 并检测链接地址能否打开

    原文链接: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;
            
        }
    
    }
    你想拥有什么,你就去追求什么!
  • 相关阅读:
    nullptr 与 null
    nullptr 与 null
    UNREFERENCED_PARAMETER 的作用
    Kali-Linux无线网络渗透测试-李亚伟-第3章-监听WiFi网络--虚拟机使用无线网卡
    探寻Linux背后的“美丽心灵”——Linux创始人Linus Torvalds访谈录
    Angular2(Beta)入门
    angular2 will be kiiled by react in the future?
    《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)前言
    Angular vs React – so which do I chose?
    2015-2016前端知识体系
  • 原文地址:https://www.cnblogs.com/lchzlp/p/14884288.html
Copyright © 2011-2022 走看看