`

java网络编程根据域名获取ip地址,URL

阅读更多
域名解析,将域名可转换为ip地址
InetAddress也可以通过使用getAddress()来获得IP地址,但是它的返回值是一个4个字节的数组。
因此尽管getAddress()在获得IP方面是有用的,但却不适于用来输出。

package dns;

import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Enumeration;

import javax.comm.CommPortIdentifier;
import javax.comm.SerialPort;

public class NsLookup { 	public static void main(String[] args){
		 InetAddress address=null;
		try {
			 address = InetAddress.getByName(args[0]);
			 
		} catch (UnknownHostException e) {
			e.printStackTrace();
		}
		System.out.println(args[0]+": "+address.getHostAddress()); //args[0]是执行程序时写的参数,
	
		 
		 InetAddress localhost=null;
		try {
			localhost = InetAddress.getLocalHost(); //本地地址
		} catch (UnknownHostException e) {
			e.printStackTrace();
		}
		 System.out.println("localhost:ip address "+localhost.getHostAddress());
		 System.out.println("localhost:主机名: "+localhost.getHostName());
/*
 *  在开始使用RS232端口通讯之前,我们想知道系统有哪些端口是可用的,以下代码列出系统中所有可用的RS232端口
 */
		  CommPortIdentifier portId;
	        Enumeration en = CommPortIdentifier.getPortIdentifiers();
	        // iterate through the ports.
	        while (en.hasMoreElements()) {
	            portId = (CommPortIdentifier) en.nextElement();
	            if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
	                System.out.println(portId.getName());
	            }
	        }
    }

}


执行时命令行参数如果输入:www.sina.com
执行结果如下:
www.sina.com: 121.194.0.209
localhost:ip address 59.64.158.214
localhost:主机名: bupt
COM1
COM2


还有一个域名可能对应不止一个ip地址,一下程序时列举出sina域名下的所有ip
package dns;

import java.net.InetAddress;
import java.net.UnknownHostException;

//有时一个域名会包含不止一个IP地址,比如微软的Web服务器,这是为了保持负载平衡。
//InetAddress提供了一种可以得到一个域名的所有IP地址的方法
public class NsLookup2 {   
	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 + "]: "
						+ addresses[i].getHostAddress());
			}
		} catch (UnknownHostException uhe) {
			System.err.println("Unable to find: " + args[0]);
		}
	}
}


执行结果:

www.sina.com[0]: 121.194.0.208
www.sina.com[1]: 121.194.0.209
www.sina.com[2]: 121.194.0.210
www.sina.com[3]: 121.194.0.203
www.sina.com[4]: 121.194.0.205
www.sina.com[5]: 121.194.0.206

下面是一个根据url可以输出其页面html源码的java代码:
package urldemo;

import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.io.PrintStream;
public class URLReader {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception {

		URL tirc = new URL("http://www.sina.com.cn/");// 构建一URL对象
		BufferedReader in = new BufferedReader(new InputStreamReader(tirc
				.openStream()));
		// 使用openStream得到一输入流并由此构造一个BufferedReader对象
		String inputLine;
		while ((inputLine = in.readLine()) != null)
			// 从输入流不断的读数据,直到读完为止
			System.out.println(inputLine); // 把读入的数据打印到屏幕上
		in.close(); // 关闭输入流
		
//		URL url =new URL ("http://www.sina.com.cn/");//创建一URL对象
//		URLConnection con=url.openConnection();		//由URL对象获取URLConnection对象
//		DataInputStream dis=new DataInputStream (con.getInputStream()); //由URLConnection获取输入流,并构造DataInputStream对象
//		PrintStream ps=new PrintStream(con.getOutputStream());		//由URLConnection获取输出流,并构造PrintStream对象
//		String line=dis.readLine(); //从服务器读入一行
//		ps.println("client…"); //向服务器写出字符串 "client…"


	}

}


分享到:
评论

相关推荐

    java网络编程第四版pdf

    第一章“基本网络概念”主要介绍了网络的基础知识,包括TCP/IP协议族、互联网的工作原理、IP地址和域名系统。这一章将引导读者理解网络通信的基本模型,为后续的网络编程打下坚实的基础。作者深入浅出地解释了网络...

    Java网络编程实例(随书源代码)

    - **InetAddress**:处理IP地址和主机名,如获取本地IP、解析域名等。 - **DNS解析**:Java的NetworkInterface类和InetAddress类可用于查询网络接口信息和执行DNS查询。 这些源代码实例将覆盖上述各个主题,通过...

    JAVA获取别人的ip地址

    本文将详细介绍如何通过Java编程语言实现一个简单的程序来获取客户端的IP地址。 #### 二、核心知识点解析 ##### 1. Java中的`InetAddress` `InetAddress`是Java中用于表示和处理IP地址的一个类。它提供了多种方法...

    Java网络编程.chm

    而DNS(Domain Name System)是将域名转换为IP地址的系统,Java的InetAddress类提供了DNS解析的功能。 "Javanetwlbc"可能是一个具体的网络编程案例或代码练习,名称可能是“Java网络编程练习”或类似的意思。这可能...

    java 获取网址的IP地址

    在Java编程中,获取网址的IP地址是一项常见的网络操作,主要应用于网络通信或者网络请求的底层处理。这个过程涉及到DNS(Domain Name System)解析,即从一个URL(Uniform Resource Locator)转换为对应的IP地址。...

    java网络编程笔记

    5. **URL与网络资源定位**:URL(Uniform Resource Locator)用于标识网络上的资源位置,由协议类型、IP地址或域名、端口号、路径组成。它是Web应用中数据传输和资源访问的核心。 6. **对象序列化与反序列化**:在...

    java网络编程第4版源码java network programming 4th edition source code

    《Java网络编程第四版》是Java开发者深入理解网络编程的重要参考书籍,其源码提供了丰富的实践示例,有助于读者深入学习和理解网络通信的核心概念。本资料包含的源码是作者精心设计和编写的,旨在帮助读者更好地掌握...

    一站式学习Java网络编程 全面理解BIO:NIO:AIO1

    DNS(Domain Name System)是一种域名解析系统,负责将域名解析为 IP 地址。DNS 解析过程包括递归查询和迭代查询两种方式。 三、java.io 专业术语 java.io 是 Java 中的输入/输出流库,提供了多种流类型,包括字符...

    Java网络编程

    DNS(域名系统)负责将域名转换为IP地址,从而实现URL到具体网络位置的映射。 5. **Socket(套接字)** Socket是一种用于实现不同程序间通信的机制,是TCP/IP协议的具体应用接口之一。通过Socket,程序可以直接...

    Java网络编程从入门到精通

    总之,Java网络编程涉及的概念广泛,从IP地址的原理到DNS的工作机制,再到Java提供的网络编程接口,都需要深入理解和掌握。对于初学者来说,逐步学习并实践这些知识,将有助于成为精通Java网络编程的专家。

    java网络编程 socket

    你可以使用它来获取主机的IP地址,或者根据IP地址查找主机名。例如,`getByName(String host)`方法可以将域名转换为IP地址,而`getAllByName(String host)`则返回所有可能的IP地址。 在网络编程中,端口号是区分同...

    Java网络编程的研究

    Java的网络编程功能主要体现在以下几个方面:URL用于访问网络资源;InetAddress用于处理IP地址;Socket用于基于TCP/IP协议的双向通信;Datagram则侧重于UDP协议下的数据报发送。本文将重点介绍基于Socket的Java网络...

    java 课本课件 网络编程

    本章节将深入讲解Java中的网络通信基础,主要包括网络传输协议、域名和IP地址、服务类型和端口号,以及URL的结构。同时,我们将重点讨论InetAddress类、Socket和ServerSocket在Java中的应用。 首先,网络传输协议是...

    JAVA网络编程.pdf

    此外,URL和URLConnection类可用于从网络获取资源,而InetAddress类则用于处理IP地址和域名的转换。 为了更深入地学习网络编程,除了掌握基本概念和Java API的使用,还需要理解TCP/IP协议栈的工作原理,包括TCP、...

    第14章Java网络编程ppt课件.ppt

    - `getByName(String s)`: 通过域名或IP地址获取`InetAddress`对象。 - `getHostName()`: 获取域名。 - `getHostAddress()`: 获取IP地址。 - `getLocalHost()`: 获取本地主机的`InetAddress`对象。 4. **套接字...

    Java网络编程学习资料

    这部分可能是对Java网络编程基础的全面介绍,涵盖了Java的网络类库,如InetAddress、URL、URLConnection等。`基础知识—Java的网络功能与编程(1).chm`可能会涉及域名解析、HTTP请求的发送和接收、文件的上传下载、...

    Java中的IP地址和InetAddress类使用详解

    通过InetAddress,我们可以获取域名对应的IP地址,或者根据IP地址获取其对应的域名。具体方法包括: 1. `getByName(String s)`:此方法接受一个字符串参数,可以是域名或IP地址,然后返回一个InetAddress对象,其中...

    Java基础篇:网络编程.pdf

    首先,Java网络编程的基础是通信要素,这包括IP地址和端口号。IP地址是网络上每台计算机的唯一标识,类似于现实生活中的地址。在Java中,可以通过InetAddress类来操作IP地址。IP地址分为IPv4和IPv6两种类型,分别...

    Java SE完整版精品优质课件 自学入门必看的优秀Java基础知识培训教案 第14章_java网络编程(共42页).pptx

    3. **InetAddress类**:InetAddress是Java中处理IP地址的核心类,可以获取域名和IP地址。它提供了将域名转换为IP地址的功能,通过`getByName()`方法解析域名,`getLocalHost()`方法获取本地主机的InetAddress对象。 ...

Global site tag (gtag.js) - Google Analytics