精华内容
下载资源
问答
  • java获取URL中的顶级域名domain

    千次阅读 2016-12-24 08:43:41
    import java.net.MalformedURLException;...import java.net.URL; import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; public class URLUtil { private

    此类提供了获取url的顶级域名和判断两个url的顶级域名是否相等,可直接使用。

    import java.net.MalformedURLException;
    import java.net.URL;
    import java.util.Arrays;
    import java.util.HashSet;
    import java.util.Set;
    import java.util.regex.Pattern;
    
    public class URLUtil {
    
    	private final static Set<String> PublicSuffixSet = new HashSet<String>(
    			Arrays.asList(new String(
    					"com|org|net|gov|edu|co|tv|mobi|info|asia|xxx|onion|cn|com.cn|edu.cn|gov.cn|net.cn|org.cn|jp|kr|tw|com.hk|hk|com.hk|org.hk|se|com.se|org.se")
    					.split("\\|")));
    
    	private static Pattern IP_PATTERN = Pattern
    			.compile("(\\d{1,3}\\.){3}(\\d{1,3})");
    
    	/**
    	 * 获取url的顶级域名
    	 * @param url
    	 * @return
    	 */
    	public static String getDomainName(URL url) {
    		String host = url.getHost();
    		if (host.endsWith("."))
    			host = host.substring(0, host.length() - 1);
    		if (IP_PATTERN.matcher(host).matches())
    			return host;
    
    		int index = 0;
    		String candidate = host;
    		for (; index >= 0;) {
    			index = candidate.indexOf('.');
    			String subCandidate = candidate.substring(index + 1);
    			if (PublicSuffixSet.contains(subCandidate)) {
    				return candidate;
    			}
    			candidate = subCandidate;
    		}
    		return candidate;
    	}
    
    	/**
    	 * 获取url的顶级域名
    	 * @param url
    	 * @return
    	 * @throws MalformedURLException
    	 */
    	public static String getDomainName(String url) throws MalformedURLException {
    		return getDomainName(new URL(url));
    	}
    
    	/**
    	 * 判断两个url顶级域名是否相等
    	 * @param url1
    	 * @param url2
    	 * @return
    	 */
    	public static boolean isSameDomainName(URL url1, URL url2) {
    		return getDomainName(url1).equalsIgnoreCase(getDomainName(url2));
    	}
    
    	/**
    	 * 判断两个url顶级域名是否相等
    	 * @param url1
    	 * @param url2
    	 * @return
    	 * @throws MalformedURLException
    	 */
    	public static boolean isSameDomainName(String url1, String url2)
    			throws MalformedURLException {
    		return isSameDomainName(new URL(url1), new URL(url2));
    	}
    
    }
    


    展开全文
  • javaurl获取域名和虚拟目录

    千次阅读 2017-09-19 18:33:09
    一般情况下我们获取请求相关信息,我们通过servlet相关api就能完成,有时我们需要在纯se环境中得到url字符串中想要的信息,如域名、虚拟目录。下面直接贴出代码:package com.bs.util;import java.util.regex....

    一般情况下我们获取请求相关信息,我们通过servlet相关api就能完成,有时我们需要在纯se环境中得到url字符串中想要的信息,如域名、虚拟目录。下面直接贴出代码:

    package com.bs.util;
    
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class UrlUtil {
    
        /**
         * 从url中匹配虚拟目录(除去协议、域名、端口号和参数部分)     
         * @param url
         * @param containProjectName
         *            是否去掉项目名
         * @return
         */
        public static String getURI(String url, boolean containProjectName) {
            String regx = "(?:https?://)(?:(?:\\w+\\.){2,3}|[a-zA-Z0-9]+)(?:\\w+)(?::[0-9]+)?" + (containProjectName ? "(?:/\\w+/)" : "")
                    + "([^?]*)";
            Pattern p = Pattern.compile(regx);
            Matcher matcher = p.matcher(url);
            if (matcher.find()) {
                return matcher.group(1);
            }
            return null;
        }
    
        /**
         * 匹配域名
         * 如url为http://192.168.10.36:2829/appweb/script/plugin/ueditor/jsp/upload1/20170901/41281504250668218.jpg
         * 返回192.168.10.36
         * 
         * @param url
         * @return
         */
        public static String getHost(String url) {
            Pattern p = Pattern.compile("(?:https?://)((\\w+\\.){2,3}\\w+|[a-zA-z0-9]+)(?::[0-9]+)?");
            Matcher matcher = p.matcher(url);
            if (matcher.find()) {
                return matcher.group(1);
            }
            return null;
        }
    
        public static void main(String[] args) {
            String path = "http://localhost:2829/script/plugin/ueditor/jsp/upload1/20170918/95421505699068820.jpg?t=3";
            System.out.println(getURI(path,false));///script/plugin/ueditor/jsp/upload1/20170918/95421505699068820.jpg
            System.out.println(getHost(path));//localhost
    
            path="http://localhost:2829/app/script/plugin/ueditor/jsp/upload1/20170918/95421505699068820.jpg?t=3";
            System.out.println(getURI(path,true));//script/plugin/ueditor/jsp/upload1/20170918/95421505699068820.jpg
            System.out.println(getHost(path));//localhost
    
            path="http://www.baidu.com:2829/app/script/plugin/ueditor/jsp/upload1/20170918/95421505699068820.jpg?t=3";
            System.out.println(getURI(path,true));///script/plugin/ueditor/jsp/upload1/20170918/95421505699068820.jpg
            System.out.println(getHost(path));//www.baidu.com
    
            path="http://www.baidu.com:2829/app/script/plugin/ueditor/jsp/upload1/20170918/95421505699068820.jpg?t=3";
            System.out.println(getURI(path,true));//script/plugin/ueditor/jsp/upload1/20170918/95421505699068820.jpg
            System.out.println(getHost(path));//www.baidu.com
    
            path="http://192.168.10.36:2829/app/script/plugin/ueditor/jsp/upload1/20170918/95421505699068820.jpg?t=3";
            System.out.println(getURI(path,true));//script/plugin/ueditor/jsp/upload1/20170918/95421505699068820.jpg
            System.out.println(getHost(path));//192.168.10.36
        }
    }
    

    我们也可以取出协议、端口号、请求参数等,应该不难,因为暂时不需要这些信息,所以就没做这个功能了。

    展开全文
  • URL url = null ; try { url = new URL(destination); domain =url.getProtocol()+"://"+ url.getHost(); } catch (MalformedURLException e) { LOG.info( "url=["+destination+"] not ...
        private String getDomain(String destination){
         
            if(destination==null||destination.trim().equals("")){
         
             return "";
         
            }
         
            String domain = "";
         
            URL url =null;
         
            try {
         
                url= new URL(destination);
         
                domain =url.getProtocol()+"://"+url.getHost();
         
            } catch (MalformedURLException e) {
         
                LOG.info("url=["+destination+"] not correct! ");;
         
            }
         
            return domain;
         
           }

     

    转载于:https://www.cnblogs.com/davidwang456/p/4650275.html

    展开全文
  • java获取URL域名或IP与端口

    万次阅读 2016-12-23 13:30:48
    java获取URL域名或IP与端口获取IP与域名方法public static String getIP(String url) { //使用正则表达式过滤, String re = "((http|ftp|https)://)(([a-zA-Z0-9._-]+)|([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}....

    在java中获取URL的域名或IP与端口

    获取IP与域名方法一,使用正则表达式

    public static String getIP(String url) {
            //使用正则表达式过滤,
            String re = "((http|ftp|https)://)(([a-zA-Z0-9._-]+)|([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}))(([a-zA-Z]{2,6})|(:[0-9]{1,4})?)";
            String str = "";
            // 编译正则表达式
            Pattern pattern = Pattern.compile(re);
            // 忽略大小写的写法
            // Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
            Matcher matcher = pattern.matcher(url);
            //若url==http://127.0.0.1:9040或www.baidu.com的,正则表达式表示匹配
            if (matcher.matches()) {
                str = url;
            } else {
                String[] split2 = url.split(re);
                if (split2.length > 1) {
                    String substring = url.substring(0, url.length() - split2[1].length());
                    str = substring;
                } else {
                    str = split2[0];
                }
            }
            return str;
        }

    获取IP与域名方法二,使用java工具类实现,调用方式getIP(URI.create(“http://127.0.0.1:9040/1/1.html“);

        private static URI getIP(URI uri) {
            URI effectiveURI = null;
    
            try {
                // URI(String scheme, String userInfo, String host, int port, String
                // path, String query,String fragment)
                effectiveURI = new URI(uri.getScheme(), uri.getUserInfo(), uri.getHost(), uri.getPort(), null, null, null);
            } catch (Throwable var4) {
                effectiveURI = null;
            }
    
            return effectiveURI;
        }

    测试

    System.out.println(getIP("http://www.baidu.com/system/verList"));
            System.out.println(getIP("http://WWW.BAIDU.COM/TESE/verList"));
            System.out.println(getIP("http://blog.csdn.net/weasleyqi/article/details/7912647"));
            System.out.println(getIP("https://segmentfault.com/q/1010000000703645"));
            System.out.println(getIP("http://www.cnblogs.com/afarmer/archive/2011/08/29/2158860.html"));
            System.out.println(getIP("http://127.0.0.1/123/1"));
            System.out.println("1:" + getIP("http://127.0.0.1:9040/system/verList"));
            System.out.println("2:"
                    + getIP("http://127.0.0.1:9040/system/verList?loginName=1&password=AD07FB25AA2D3A9F96EE12F25E0BE902"));
            System.out.println("3:" + getIP("http://127.0.0.1:9040/"));

    结果

    这里写图片描述

    总结

    推荐使用第二种方式,毕竟是java工具类提供,匹配齐全。
    第一种,适合简单的域名,优点:轻,一个方法就实现。

    展开全文
  • 方法1.获取顶级域名 public String getDomainForUrl(String url){ String domainUrl = null; if (url == null) { return null; } else { Pattern p = Pattern.compil...
  • 使用javaurl获取域名

    千次阅读 2020-05-22 11:18:35
    有个需求,要从url里面获取出完整的域名。从网上找了一下,大部分都是下面这篇文章: https://blog.csdn.net/u013217757/article/details/53838250/ 我测试了一下,完全没有问题。主要就是下面这段代码: ...
  • 最近需要把一个url的根域名找出来,看着挺简单的需求,结果写出来的代码 却有bug: public String getSourceDomain(String sourceLink) { if (sourceLink == null) { return null; } try { URI url...
  • java提取 url域名

    千次阅读 2019-02-21 17:00:12
    String str = "...java.net.URL url = new java.net.URL(str); String host = url.getHost();//获取主机名 System.out.println(url.getPort());//端口号,若是没有端口号返回 -1 System.out...
  • java后台获取url中的域名

    千次阅读 2019-10-21 14:11:42
    /** * @description 获取域名,如果是ip访问,如127.0.0.1 返回.0.0.1 *如果是域名www.xxxx.com 返回.xxxx.com * @param * @return String */ public static fi...
  • 方式一: 1 import java.net.MalformedURLException;... 2 import java.net.URL; 3 import java.util.Arrays; 4 import java.util.HashSet; 5 import java.util.Set; 6 import java.util.reg...
  • java获取url地址的主域名正则表达式

    万次阅读 2011-01-26 19:21:00
    String url = "http://anotherbug.blog.chinajavaworld.com/entry/4545/0/"; Pattern p = Pattern.compile("(?提取完整的可以用Pattern.compile("[^//]*?//.(com|cn|net|org|biz|info|cc|tv)", Pattern.CASE_...
  • java取得URL顶级域名

    千次阅读 2012-04-21 10:24:34
    String url = "http://anotherbug.blog.chinajavaworld.com/entry/4545/0/"; Pattern p = Pattern.compile("(?...Matcher matcher = p.matcher(url); matcher.find(); System.out.println(matcher.group());
  • java提取url里的域名

    千次阅读 2018-05-28 16:24:00
    使用java标准类库java.net.URL java.net.URL url = new java.net.URL("http://blog.csdn.net/xxx.png"); String host = url.getHost();// 获取主机名 System.out.println("host:"+host);// ...
  • java替换url域名和端口

    千次阅读 2012-09-11 09:42:40
    public static String replaceDomainAndPort(String domain,String port,String url){ String url_bak = ""; if(url.indexOf("//") != -1 ){ String[] splitTemp = url.split("//"); url_bak = splitTemp[0]+"//
  • java 提取url字符串中的域名

    千次阅读 2018-08-30 15:24:16
    java.net.URL urls = new java.net.URL(url); String host = urls.getHost();// 获取主机名 return host;// 结果 blog.csdn.net }[/color] public static void main(String[] args) { String url...
  • Java提取域名URL中的根域名

    千次阅读 2016-07-21 11:34:34
     域名中包含一级、二级域名等信息,需要提取根域名。  例如:www.baidu.com 提取出 baidu.com   http://write.blog.csdn.net/ 提取出 csdn.net 【实现】  不多说,直接上代码,主要思路就是通过正则表达式...
  • java 获取访问域名

    万次阅读 2019-06-30 16:56:58
    getServerPort 和 getLocalPort 的区别,getServerPort 获取的是 url 请求的端口,getLocalPort 获取的是应用服务器的端口,在不存在代理、转发时,二者相同;存在代理转发时,二者不同,根据需要进行选择  
  • java正则取url域名

    2012-09-26 15:05:00
    public static void main(String[] args) { String url = "http://qiang.tmall.com/go/chn/qiang/cate-fushi.php"; String pattern = "[^//]*?\\.(com|cn|net|org|biz|info|cc|t...
  • import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; ...import java.net.URL; public class HtmlRequest { public static vo...
  • Java Request 获取域名

    万次阅读 2016-01-28 12:08:12
    获取域名,如:http://f0rb.iteye.com/  Java代码  StringBuffer url = request.getRequestURL();  String tempContextUrl = url.delete(url.length() - request.getRequestURI().length(),...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 62,955
精华内容 25,182
关键字:

java获取url域名

java 订阅