精华内容
下载资源
问答
  • Java解析域名

    2014-04-08 16:38:11
    Java程序猿在开发网络方面的时候,可能需要解析域名,简单的话:就是将我们平时输入的域名转换为IP,其实大家伙应该也知道,域名只是方便我们记忆,域名对应的其实就是IP或一组IP
  • 域名(Domain Name),是由一串用点分隔的名字组成的Internet上某...一个域名的目的是便于记忆和沟通的一组服务器的地址(网站,电子邮件,FTP等),下面介绍一下Java解析域名获取IP数组方法。Java获取域名下所有Ip地址...

    域名(Domain Name),是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置,地理上的域名,指代有行政自主权的一个地方区域)。域名是一个IP地址上有“面具” 。一个域名的目的是便于记忆和沟通的一组服务器的地址(网站,电子邮件,FTP等),下面介绍一下Java解析域名获取IP数组方法。

    Java获取域名下所有Ip地址,具体代码如下:package com;

    import java.net.InetAddress;

    import java.net.UnknownHostException;

    public class AddressMain {

    private InetAddress myIpAddress = null;

    private InetAddress[] myServer = null;

    public static void main(String args[]) {

    AddressMain address = new AddressMain();

    System.out.println("My host IP is: " + address.getLocalhostIP());

    String domain = "www.yoodb.com";

    System.out.println("The server domain name is: " + domain);

    InetAddress[] array = address.getServerIP(domain);

    int count = 0;

    for (int i = 0; i 

    ++count;

    System.out.println("Ip number:" +(i + 1) + " The server Ip is: " + array[i]);

    }

    System.out.println("IP address total: " + count);

    }

    /**

    * 获得 localhost本地IP地址

    * @author www.yoodb.com

    * @return

    */

    public InetAddress getLocalhostIP() {

    try {

    myIpAddress = InetAddress.getLocalHost();

    } catch (UnknownHostException e) {

    e.printStackTrace();

    }

    return myIpAddress;

    }

    /**

    * 获得某域名的IP地址

    * @author www.yoodb.com

    * @param domain 域名

    * @return

    */

    public InetAddress[] getServerIP(String domain) {

    try {

    myServer = InetAddress.getAllByName(domain);

    } catch (UnknownHostException e) {

    e.printStackTrace();

    }

    return myServer;

    }

    }

    输出结果如下:My host IP is: Lenovo-PC/192.168.1.100

    The server domain name is: www.yoodb.com

    Ip number:1 The server Ip is: 123.57.47.154

    IP address total: 1

    展开全文
  • import java.net.InetAddress;import java.net.UnknownHostException;public class ParseDomainName {InetAddress myServer = null;InetAddress myIPaddress = null;String domainName = null;public ParseDomainNam...

    import java.net.InetAddress;

    import java.net.UnknownHostException;

    public class ParseDomainName {

    InetAddress myServer = null;

    InetAddress myIPaddress = null;

    String domainName = null;

    public ParseDomainName(String domainName) {

    this.domainName = domainName;

    }

    public InetAddress getServerIP() {

    try {

    myServer = InetAddress.getByName(domainName);

    } catch (UnknownHostException e) {

    }

    return (myServer);

    }

    // 取得LOCALHOST的IP地址

    public InetAddress getMyIP() {

    try {

    myIPaddress = InetAddress.getLocalHost();

    } catch (UnknownHostException e) {

    }

    return (myIPaddress);

    }

    public static void main(String[] args) {

    ParseDomainName pdn = new ParseDomainName("www.baidu.com");

    System.out.println("Your host IP is: " + pdn.getMyIP().getHostAddress());

    System.out.println("The Server IP is :" + pdn.getServerIP().getHostAddress());

    }

    }

    展开全文
  • java 解析域名得到host

    2019-01-30 14:41:00
    // 形如https://www.baidu.com 或 www.baidu.com, 判断这两种情况,并解析...// 方案1:正则表达式 + URI解析方法 import java.io.IOException; import java.net.URI; import java.net.URL; import java.util...

    // 形如https://www.baidu.com 或 www.baidu.com, 判断这两种情况,并解析前者去掉http头,传入domain host

    // 方案1:正则表达式 + URI解析方法

    import java.io.IOException;
    import java.net.URI;
    import java.net.URL;
    import java.util.regex.Pattern;
    
    public class Main {
    
        public static void main(String[] args) {
            System.out.println("Hello World!");
    //        parseDomain();
            String url = "www.baidu.com";
            String domain = parseDomain(url);
            System.out.println("+++domain: " + domain);
        }
    
        public static boolean verifyDomain(String url) {
            String regex = "^([hH][tT]{2}[pP]:/*|[hH][tT]{2}[pP][sS]:/*|[fF][tT][pP]:/*)(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\\/])+(\\?{0,1}(([A-Za-z0-9-~]+\\={0,1})([A-Za-z0-9-~]*)\\&{0,1})*)$";
            Pattern pattern = Pattern.compile(regex);
            if (pattern.matcher(url).matches()) {
                System.out.println("是正确的网址");
                return true;
            } else {
                System.out.println("非法网址");
                return false;
            }
        }
    
        private static String parseDomain(String url) {
            String regex = "^([hH][tT]{2}[pP]:/*|[hH][tT]{2}[pP][sS]:/*|[fF][tT][pP]:/*)(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\\/])+(\\?{0,1}(([A-Za-z0-9-~]+\\={0,1})([A-Za-z0-9-~]*)\\&{0,1})*)$";
            Pattern pattern = Pattern.compile(regex);
            if (pattern.matcher(url).matches()) {
           return URI.create(url).getHost();
            } else {
           return url;
            }
        }
    
        public static void parseDomain() throws IOException {
            String urlAddress = "http://www.roseindia.net/jsf/JSFLoginApplication.shtml";
            urlAddress = "http://www.baidu.com";
            URL url = new URL(urlAddress);
            System.out.println("url.getHost() = " + url.getHost());
            System.out.println("url.getPath() = " + url.getPath());
            System.out.println("url.getPort() = " + url.getPort());
            System.out.println("url.getProtocol() = " + url.getProtocol());
        }
    }

     

    // 方案2: String的split(), substring(), 拆解出子串来

    一般的URL的结构:

    [ 协议名 ]:// [ 域名 ] : [ 端口号 ] / [ 路 ] ... [ 径 ]/ [ 文件名 ] ? [ 参 ]& [ 数 ] & [ 部 ]& [ 分 ] # [ 锚部分 ]

    js代码如下:

    function parseURL(url){
    var urlObj={};
    urlObj.scheme = url.substring(0,url.indexOf(":")); //协议头
    var temp1=url.substring(url.indexOf("//")+2); //去掉协议头后剩下部分
    var temp2=temp1.substring(0,temp1.indexOf("/"))//域名+端口号,substring(start,stop) stop要比最后一个提取的字符位置多1
    urlObj.domaine = temp2.substring(0,temp1.indexOf(":"));
    urlObj.port = temp2.substring(temp1.indexOf(":")+1);
    
    if(temp1.indexOf("?")!=-1){
    urlObj.path =temp1.substring(temp1.indexOf("/")+1,temp1.indexOf("?"))//路径+文件名
    emp1.IndexOf("#")!=-1? urlObj.params=temp1.substring(temp1.indexOf("?")+1,temp1.IndexOf("#"))
          :urlObj.params=temp1.substring(temp1.indexOf("?")+1)
    }else{
    urlObj.path =temp1.substring(temp1.indexOf("/")+1);
    }
    urlObj.fragment=temp1.substring(temp1.indexOf("#")+1);
    return urlObj;
    }

    转载于:https://www.cnblogs.com/bluestorm/p/10338028.html

    展开全文
  • IP地址是Internet主机的作为路由寻址用的...在这里我们如果想通过java程序来解析域名获得真实IP的话,可以通过java的InetAddress类来实现。 import java.net.InetAddress; import java.net.UnknownHostExceptio...

    IP地址是Internet主机的作为路由寻址用的数字型标识,人不容易记忆。因而产生了域名(domain name)这一种字符型标识。DNS即为域名解析服务。在这里我们如果想通过java程序来解析域名获得真实IP的话,可以通过java的InetAddress类来实现。

    import java.net.InetAddress;
    import java.net.UnknownHostException;
    
    /**
     * Description:
     * Author:
     * Date: 2019/10/21
     */
    public class Test01 {
       public static void main(String[] args) throws UnknownHostException {
          //获取本机IP地址
          System.out.println("本机IP地址:"+ InetAddress.getLocalHost().getHostAddress());
    
          //获取百度IP地址
          System.out.println("www.baidu.com的地址:"+InetAddress.getByName("www.baidu.com").getHostAddress());
       }
    }

    执行结果如下:

    本机IP地址:10.48.11.179
    www.baidu.com的地址:180.101.49.12
    
    Process finished with exit code 0
    

    封装成方法:

    public class InetAddressUtil {
    
        private static final Logger LOGGER = LoggerFactory.getLogger(InetAddressUtil.class);
    
        private InetAddressUtil() {
        }
    
        /**
         * 
         * 功能描述: <br>
         * 〈获取IP地址〉
         *
         * @return
         * @see [相关类/方法](可选)
         * @since [产品/模块版本](可选)
         */
        public static String getIPAddress(){
            String ip = null;
            try {
                InetAddress address = InetAddress.getLocalHost();
                ip = address.getHostAddress();
            } catch (Exception e) {
                LOGGER.error("getIPAddress end with error: {}.", ExceptionUtils.getStackTrace(e));
            }
            return ip;
        }
    
    }
    

     

    展开全文
  • 1 域名解析,将域名可转换为ip地址InetAddress也可以通过使用getAddress()来获得IP地址,但是它的返回值是一个4个字节的数组。因此尽管getAddress()在获得IP方面是有用的,但却不适于用来输出。package dns;import ...
  • 普通的域名解析方法:import java.net.*;public class Kkkk {public static void main(String args[]) throws Exception {InetAddress address = InetAddress.getByName("wxh-PC");// wxh-PC是我的计算机名System....
  • Java动态解析域名

    2017-11-28 12:49:00
    Java动态解析域名 Java提供InetAddress类,可以对域名-IP进行正向、逆向解析。 InetAddress解析的时候一般是调用系统自带的DNS程序。  linux 默认的DNS方式是读取/etc/resolv.conf进行DNS解析。  mac 默认的...
  • sun.net.spi.nameservice.provider.=Specifies the name service provider that you can ... By default, Java will use the system configured name lookup mechanism, such as file, nis, etc. You can specify y...
  • java实现域名解析

    千次阅读 2020-06-05 23:43:32
    java实现域名解析 域名解析过程 浏览器检查是否有该域名缓存 检查本机host文件之内是否有该域名对应ip 检查本机DNS缓存 递归或迭代向DNS根域名服务器获取该域名ip地址 1.windows控制台 win+r 输入cmd进入控制台 ...
  • 域名解析域名解析由于建网站等一系列的需求现在注册域名的朋友是越来越多了,然而注册域名时经常会遇到一些不懂的问题,如域名...域名解析就是域名到IP地址的转换过程。IP地址是网路上标识您站点的数字地址,为...
  • DNS域名解析过程域名解析过程:1、浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中存在,此解析过程到此就已经结束。2、如果用户的浏览器缓存(通过host文件进行设置)中没有,浏览器接下来会去...
  • http://amon.org/dns-introduction.html根域:就是所谓的“.”根域服务器只是具有13个IP地址,但机器数量却不是13台,因为这些IP地址借助了域的划分:根域下来就是顶级域或者叫一级域每个域都会有域名服务器,也叫...
  • java 域名解析

    2016-05-18 23:18:53
    import java.net.InetAddress;import java.net.UnknownHostException;   public class ParseDomainName { InetAddress myServer = null; InetAddress myIPaddress = null; String domainName = null;    ...
  • java DNS域名解析

    2020-01-10 10:19:54
    env.put( "java.naming.factory.initial" , "com.sun.jndi.dns.DnsContextFactory" ); //设置域名服务器 env.put(Context. PROVIDER_URL, "dns://" + provider); // 连接时间 env.put( ...
  • java域名解析

    2016-03-22 17:13:00
    根域:就是所谓的“.” 根域服务器只是具有13个IP地址,但机器数量却不是13台,因为这些IP地址借助了任播的技术,所以我们可以在全球设立这IP的镜像站点,你...每个域都会有域名服务器,也叫权威域名服务器。 ...
  • java 项目域名解析

    2016-04-08 10:38:24
    服务器tomcat8: 项目需要域名解析要求直接配置IP,不需要项目名称。 最终方案 tomcat8 conf/server.xml   unpackWARs="true" autoDeploy="true"> <!-- SingleSignOn
  • 域名系统概述域名系统DNS(Domain Name System)是英特网使用的命名系统,用于把便于人们使用机器名字转化为IP地址。为什么机器在处理IP数据报时要...DNS使大多数名字在本地进行解析,只有少量解析需要在因特网上进行...
  • java实现泛域名解析

    2013-09-23 19:19:03
    java实现泛域名解析 二级域名解析
  • 最近,帮朋友弄网站域名解析的事情。网站使用的是云服务器,在域名配置过程中遇到了很多问题。 问题一、搞定TOMCAT的域名配置文件server.xml <C...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,008
精华内容 403
关键字:

java解析域名

java 订阅