- 浏览: 497575 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (301)
- Swing技术 (1)
- Linux (1)
- Javascript (22)
- 数据结构和算法 (3)
- J2SE (36)
- workflow (5)
- 设计模式 (14)
- web service (19)
- Ajax (14)
- 中间件 & 服务器 (8)
- 多线程 (9)
- Oracle (52)
- sys & soft (10)
- JMS (3)
- sso (9)
- android (11)
- struts2 (10)
- web协议 (2)
- 分布式 (2)
- PM (2)
- OLAP (3)
- Redis (2)
- Hibernate (7)
- ibatis (2)
- SQLServer (1)
- maven (3)
- Spring (7)
- Jsp (2)
- slf4j (1)
- jQuery (15)
- 权限 (1)
- 系统集成 (1)
- 笔记 (1)
- Freemarker (2)
- 项目管理 (1)
- eclipse (3)
- GIS (1)
- NoSql (3)
- win10 (1)
- win10网络 (2)
- 底层 (3)
- 数据库 (0)
最新评论
-
kabuto_v:
请问那种图,uml图是怎么画出来的呢?是您自己手工画的,还是有 ...
FastJSON 序列化、反序列化实现 -
梦行Monxin商城系统:
电商实例、业务并发、网站并发及解决方法 -
rockethj8:
client 㓟有一个参数是可以忽略一些URL 不进行验证登录 ...
SSO 之 (单点登录)实施中遇到的几个问题 -
mengxiangfeiyan:
好啊。。。。。
Oracle删除表,删除数据以及恢复数据、利用现有表创建新表
如何用Java获得一个域名的IP地址呢?提供这个功能的类叫做java.net.InetAddress。我们假设现在有这样一个域名,它用一个静态的getByName来重新获得一个InetAddress,然后得到可以读出的IP地址。下面的代码是非常基本的命令行。
import java.net.InetAddress;
import java.net.UnknownHostException;
public class NsLookup {
static public void main(String[] args) {
try {
InetAddress address = InetAddress.getByName(args[0]);
System.out.println(args[0]+"
: "+address.getHostAddress());
}
catch(UnknownHostException uhe) {
System.err.println("Unable to find: "+args[0]);
}
}
}
InetAddress也可以通过使用getAddress()来获得IP地址,但是它的返回值是一个4个字节的数组。因此尽管getAddress()在获得IP方面是有用的,但却不适于用来输出。
上面的命令的输出结果看起来就是这样:
bash$ java code.NsLookup www.sun.com
www.sun.com: 192.18.97.241
有时一个域名会包含不止一个IP地址,比如微软的Web服务器,这是为了保持负载平衡。InetAddress提供了一种可以得到一个域名的所有IP地址的方法。让我们来考虑以下代码:
import java.net.InetAddress;
import java.net.UnknownHostException;
public class NsLookup {
static public void main(String[] args) {
try {
String name = args[0];
InetAddress[] addresses = InetAddress.getAllByName(name);
for(int i=0; i<addresses.length; i++) {
System.out.println(name+"["+i+"]
: "+address.getHostAddress());
}
} catch(UnknownHostException uhe) {
System.err.println("Unable to find: "+args[0]);
}
}
}
对于www.sun.com,将会输出:
bash$ java code.NsLookup www.sun.com
www.sun.com[0]: 192.18.97.241
然而,对于www.microsoft.com,将会输出:
bash$ javad code/NsLookup.java
www.microsoft.com
www.microsoft.com[0]: 207.46.230.218
www.microsoft.com[1]: 207.46.197.101
www.microsoft.com[2]: 207.46.230.229
www.microsoft.com[3]: 207.46.197.113
www.microsoft.com[4]: 207.46.230.219
www.microsoft.com[5]: 207.46.230.220
[6">www.microsoft.com[6]: 207.46.197.102
由于InetAddress,localhost必须要特别处理。如果字符串“localhost”直接进入NsLookup程序的原始版本,就会得到以下相当无用的结果:
bash$ java code.NsLookup www.sun.com
localhost: 127.0.0.1
我们可以手动寻找本地地址:
try {
InetAddress localhost = InetAddress.getLocalHost();
System.out.println
("localhost: "+localhost.getHostAddress());
System.out.println
("localhost: "+localhost.getHostName());
} catch(UnknownHostException uhe) {
System.err.println
("Localhost not seeable. Something is odd. ");
}
这里是一个输出的例子:
localhost: 192.168.13.15
localhost: crab
本地主机的域名并没有返回完整的该机器的域名,这是因为它取决于该机器的设置。
最后,InetAddress可能会被用来将IP地址转变为这些地址的域名,这对于分析Web日志是很有用的。InetAddress使得开发者们可以轻松的和域名、IP地址打交道,并且使他们可以不必和DNS服务器进行交互。
import java.net.InetAddress;
import java.net.UnknownHostException;
public class NsLookup {
static public void main(String[] args) {
try {
InetAddress address = InetAddress.getByName(args[0]);
System.out.println(args[0]+"
: "+address.getHostAddress());
}
catch(UnknownHostException uhe) {
System.err.println("Unable to find: "+args[0]);
}
}
}
InetAddress也可以通过使用getAddress()来获得IP地址,但是它的返回值是一个4个字节的数组。因此尽管getAddress()在获得IP方面是有用的,但却不适于用来输出。
上面的命令的输出结果看起来就是这样:
bash$ java code.NsLookup www.sun.com
www.sun.com: 192.18.97.241
有时一个域名会包含不止一个IP地址,比如微软的Web服务器,这是为了保持负载平衡。InetAddress提供了一种可以得到一个域名的所有IP地址的方法。让我们来考虑以下代码:
import java.net.InetAddress;
import java.net.UnknownHostException;
public class NsLookup {
static public void main(String[] args) {
try {
String name = args[0];
InetAddress[] addresses = InetAddress.getAllByName(name);
for(int i=0; i<addresses.length; i++) {
System.out.println(name+"["+i+"]
: "+address.getHostAddress());
}
} catch(UnknownHostException uhe) {
System.err.println("Unable to find: "+args[0]);
}
}
}
对于www.sun.com,将会输出:
bash$ java code.NsLookup www.sun.com
www.sun.com[0]: 192.18.97.241
然而,对于www.microsoft.com,将会输出:
bash$ javad code/NsLookup.java
www.microsoft.com
www.microsoft.com[0]: 207.46.230.218
www.microsoft.com[1]: 207.46.197.101
www.microsoft.com[2]: 207.46.230.229
www.microsoft.com[3]: 207.46.197.113
www.microsoft.com[4]: 207.46.230.219
www.microsoft.com[5]: 207.46.230.220
[6">www.microsoft.com[6]: 207.46.197.102
由于InetAddress,localhost必须要特别处理。如果字符串“localhost”直接进入NsLookup程序的原始版本,就会得到以下相当无用的结果:
bash$ java code.NsLookup www.sun.com
localhost: 127.0.0.1
我们可以手动寻找本地地址:
try {
InetAddress localhost = InetAddress.getLocalHost();
System.out.println
("localhost: "+localhost.getHostAddress());
System.out.println
("localhost: "+localhost.getHostName());
} catch(UnknownHostException uhe) {
System.err.println
("Localhost not seeable. Something is odd. ");
}
这里是一个输出的例子:
localhost: 192.168.13.15
localhost: crab
本地主机的域名并没有返回完整的该机器的域名,这是因为它取决于该机器的设置。
最后,InetAddress可能会被用来将IP地址转变为这些地址的域名,这对于分析Web日志是很有用的。InetAddress使得开发者们可以轻松的和域名、IP地址打交道,并且使他们可以不必和DNS服务器进行交互。
发表评论
-
底层读写-NIO实战
2016-03-04 10:51 835最近参与实现底层高并发处理的项目,接收socket ... -
底层网络读写
2016-03-04 10:49 573Java NIO:NIO概述 http://w ... -
java方法返回多个值
2016-01-22 09:11 768http://www.iteye.com/topic/114 ... -
模拟form表单上传图片
2016-01-19 17:23 755转自:http://blog.csdn.net/5iasp ... -
java包装类的几点注意
2016-01-18 10:52 804java中8种基本类型变量对应的包装类: ... -
JAVA调用聚合天气api接口示例
2016-01-15 09:42 4043http://www.iteye.com/topic/114 ... -
java对象序列化过程
2016-01-05 10:22 743一、 http://bbs.csdn.net/topi ... -
Java6 枚举常见7种用法
2014-02-09 23:02 855http://blog.csdn.net/shimiso/a ... -
异常 之 异常体系
2013-10-07 23:00 903J2EE系统异常的处理准则 ... -
异常 之 finally的特殊处理
2013-10-07 22:26 916http://java.chinaitlab.com/expe ... -
Java图片剪裁功能实现
2013-07-28 23:17 1507http://shensy.iteye.com/blog/16 ... -
让frameset居中
2013-07-25 19:59 0JSPHTML 平常我个人开发页面时,一般用width ... -
session生命周期
2013-07-23 08:40 0http://blog.sina.com.cn/s/blog_ ... -
转发和重定向的区别
2013-07-23 08:30 0http://www.2cto.com/kf/201107/9 ... -
NIO 之 BIO和NIO机制和socket
2013-07-14 18:38 1420https://www.ibm.com/developerwo ... -
win7下安装配置tomcat,java运行环境
2013-06-30 19:39 0http://www.cnblogs.com/pannysp/ ... -
JSP之 操作Cookie
2013-06-12 18:09 0Cookie应该是一 ... -
Socket实战之二 多线程通信
2013-05-31 15:15 0http://blog.csdn.net/kongxx/art ... -
Socket实战之七 使用Socket通信传输文件
2013-05-31 15:10 895http://blog.csdn.net/kongxx/art ... -
Socket实战之六 使用NIO包实现Socket通信
2013-05-31 15:06 1158本文地址:http://blog.csdn.net/kongx ...
相关推荐
在Java编程中,发送邮件和获取IP地址是两个常见的任务,尤其在系统集成、通知服务或者数据通信中。下面将详细讲解这两个知识点。 首先,让我们来看看如何使用Java发送邮件。在Java中,我们通常使用JavaMail API来...
7. **.jar 文件**:`获取域名所在IP地址.jar`是一个Java应用程序的可执行文件,由Java编译器编译后的字节码文件(.class)打包而成。运行这个.jar文件,用户可以直接执行程序,无需安装Java开发环境。 总结来说,这...
本文将详细介绍如何使用Java中的正则表达式来检查一个IP地址的有效性。 #### 1. 正则表达式简介 正则表达式是一种强大的文本处理工具,它可以通过单一的字符串来描述一组字符串,并能够快速地进行匹配、查找或替换...
本文将详细介绍如何通过Java编程语言实现一个简单的程序来获取客户端的IP地址。 #### 二、核心知识点解析 ##### 1. Java中的`InetAddress` `InetAddress`是Java中用于表示和处理IP地址的一个类。它提供了多种方法...
在Java编程中,获取本机和服务器的IP地址是一项常见的任务,这有助于建立网络连接、进行定位服务或者进行网络通信。下面将详细解释如何通过Java实现这个功能。 首先,我们需要了解IP地址的基本概念。IP地址...
1. **获取域名**:当你有一个IP地址并想要找到关联的域名时,可以使用`InetAddress`的`getHostByAddress()`方法。例如: ```java import java.net.InetAddress; public class Main { public static void main...
在Java编程中,获取网址的IP地址是一项...总的来说,Java中获取网址的IP地址是一个基本但重要的网络编程任务,它依赖于`InetAddress`类提供的功能。通过熟练掌握这些知识,开发者可以有效地进行网络通信和数据传输。
该工具可解析输入域名下对应的所有IP地址(包括IPV4地址和IPV6地址),自己写来用的,分享给大家,提供的是jar包,未混淆代码,可以工具查看源码,如果需要可编译的源码可私聊我。 例子: 解析域名:www.baidu.com ...
此时,可以使用`InetAddress.getAllByName()`方法来获取一个域名对应的所有IP地址。 ##### 示例代码 ```java import java.net.InetAddress; import java.net.UnknownHostException; public class NsLookup { ...
而要获取远程IP地址,可以使用`InetAddress.getByName(String host)`方法,传入目标主机的域名或IP地址即可。 接下来,我们转向MAC地址的获取。MAC地址通常用于设备间的直接通信,例如局域网内的通信。在Java中,...
综上所述,Java获取IP地址的方法主要包括使用`InetAddress.getByName()`解析域名,或在建立`Socket`连接后获取对端IP。在实际开发中,还需要考虑异常处理和网络环境的多样性。如果你正在处理的"Get.java"文件中涉及...
这是 IPinfo.io IP 地址 API 的官方 Java 客户端库,允许您查找自己的 IP 地址,或获取 IP 的以下任何详细信息: IP地理定位数据(城市、地区、国家、邮政编码、经纬度) ASN 信息(ISP 或网络运营商、关联域名和...
在这个例子中,`getByName`方法会尝试解析给定的域名,如果成功,它会返回一个`InetAddress`对象,我们可以调用`getHostAddress`方法获取IP地址。如果解析失败,`UnknownHostException`会被抛出,我们应该捕获这个...
5. `getServerIP(String domain)`方法是获取特定域名IP地址的关键。它接收一个字符串参数,即要查询的域名,然后调用`InetAddress.getAllByName(String host)`方法。这个方法会返回一个`InetAddress`对象的数组,...
在上述代码中,`InetAddress.getByName()`方法用于根据域名获取IP地址,`getLocalHost()`用于获取本地主机的IP地址,`getAllByName()`则用于获取一个域名对应的所有IP地址,这在多IP环境如负载均衡中非常有用。...
获取本地IP地址,获取本地Host名称,获取Linux下的IP地址,获取用户真实IP地址,get/post请求 相应的工具类
2. **创建IPv6Bean对象**:为每个查询的IPv6地址创建一个`IPv6Bean`实例,存储IP地址本身以及后续查询得到的地理位置信息。 3. **执行查询**:在`IpV6Seeker`类中,实现一个方法,接受IPv6地址作为参数,使用ZX库的...
在许多应用场景中,如服务器管理、网络诊断、分布式系统设计等,都需要知道一个设备在网络中的标识,即主机名和IP地址。下面我们将深入探讨这个主题。 首先,主机名是一个便于人类记忆的计算机在网络中的唯一标识,...
例如,你可以使用`getByName(String host)`方法来根据主机名获取IP地址,或者使用`getAllByName(String host)`来获取所有可能的IP地址(对于有多个IP的域名)。 ```java InetAddress address = InetAddress....
在IT行业中,网络编程是...通过以上步骤,我们可以构建一个完整的Java工程,实现对IP地址的真实性和可达性的测试。在实际开发中,可能还需要考虑线程安全、性能优化、异常处理等多方面因素,以确保代码的稳定性和效率。