Java学习笔记----网络编程(一):获取IP地址和域名
来源:互联网 发布:软件测试jira教程 编辑:程序博客网 时间:2024/06/03 18:03
IP和域名简介
IP地址是一个32位的二进制数,在实际生活中是以四个十进制的数来表示的,如 172.199.20.3.每个十进制数代表8位二进制数。不过在我们的实际生活中IP地址不太好记,而引入了域名的概念来唯一标示因特网上的主机或路由器,例如www.baidu.com(百度的域名)
技术要点
获取IP地址和域名的技术要点:
通过java.net.InetAddress类的静态方法getLocalHost()能够获得本机的网络地址信息,也是一个InetAddress对象;
InetAddress类的getHostAddress()方法,能获取该网络地址的IP信息。getHostName()方法获取网络地址的域名或者机器名。静态方法getByName()根据域名获得该域名代表的主机的网络地址信息,返回的是一个InetAddress对象;
当一个主机配置多个网络地址时,可以通过InetAddress类的getAllByName()静态方法根据域名获得该域名代表的主机的所有网络地址信息,返回的是InetAddress对象组。
源代码:
package corejava;import java.net.InetAddress;import java.net.UnknownHostException;/** * 获取IP地址和域名 * */public class TestGetIPandDomain {public static void getLocalIP() {try {InetAddress addr = InetAddress.getLocalHost();// 获取本机主机IP地址对象String hostAddr = addr.getHostAddress();// 获取IP地址String hostName = addr.getHostName();// 获取本机机器名System.out.println("本地IP地址:" + hostAddr);System.out.println("本地机器名:" + hostName);} catch (UnknownHostException e) {// 捕获未知主机异常System.out.println("不能获得主机IP地址:" + e.getMessage());System.exit(1);}}public static void getIPByName(String hostName){//根据域名获得主机的IP地址try {InetAddress addr=InetAddress.getByName(hostName);//根据域名创建主机地址对象String hostAddr=addr.getHostAddress();//获取主机IP地址System.out.println("域名为:"+hostName+"的主机IP地址:"+hostAddr);} catch (UnknownHostException e) {System.out.println("不能根据域名获得主机IP地址:" + e.getMessage());System.exit(1);}}public static void getAllIPByName(String hostName){//根据域名获得主机所有的IP地址try {InetAddress[] addrs=InetAddress.getAllByName(hostName);//根据域名创建主机地址对象String[] ips=new String[addrs.length];System.out.println("域名为:"+hostName+"的所有的主机IP地址:");for (int i = 0; i < addrs.length; i++) {ips[i]=addrs[i].getHostAddress();//获取主机IP地址System.out.println(ips[i]);}} catch (UnknownHostException e) {System.out.println("不能根据域名获得 主机所有IP地址:" + e.getMessage());System.exit(1);}}public static void main(String[] args) {getLocalIP();//调用方法获得本机的IP地址String hostName="www.baidu.com";//百度域名getIPByName(hostName);//获取百度的主机IP地址getAllIPByName(hostName);//获取百度域名主机所有的IP地址}}
运行截图:
0 0
- Java学习笔记----网络编程(一):获取IP地址和域名
- java网络编程-获取域名和ip地址
- java网络编程根据域名获取ip地址,URL
- 一、java根据域名获取ip地址
- Java获取IP地址和域名:
- java网络编程怎样获取ip地址
- Linux C 网络编程 - 获取本地 ip 地址,mac,通过域名获取对应的 ip
- 【Linux网络编程实例】实例一:获取主机MAC地址和IP地址
- 获取网络域名的IP地址
- TCP/IP网络编程 学习笔记_9 --域名系统(DNS)
- Java网络编程:ip地址和端口
- TCP/IP网络编程 学习笔记_3 --给套接字分配IP地址和端口号
- 网络编程(ip地址)-笔记
- C# 网络编程之获取本机名、ip地址、域名、物理位置
- java获取网络ip地址
- 获取本机IP地址(java网络编程)
- Java网络编程之获取IP地址:InetAddress类
- 网络编程概述和IP地址的获取方法
- mac 给vim 配色
- Android版AdWords应用集成Admob管理库教程
- 在Android的Settings的数据库中加入自己的变量的方法
- hiho刷题日记——第二十八天题外话·堆
- Android逆向分析必备网址大全
- Java学习笔记----网络编程(一):获取IP地址和域名
- 使用css 控制弹出框始终水平居中
- 序列化
- Maven学习总结(八)——使用Maven构建多模块项目
- C++ 11 Lambda表达式、auto、function、bind、final、override
- 设置ImageView形状成圆角矩形和纯圆形
- KMP算法(Knuth-Morris-Pratt ),java实现KMP算法
- 谷歌http通信
- Android并发编程之全方位解析AsyncTask