学习目标:
1、了解Inetaddress类的使用
2、了解URL类的基本使用
学习过程:
一、Inetaddress类
1、主机名解析
前面讲过IP地址是唯一标识一台计算机,但是我们也可以使用主机名访问。另外,我们平时上网时就是访问另外一台计算机提供的服务,但是我们在浏览器上面输入的确不是IP地址而是域名,因为IP地址是一些无意义的数字,比较难记忆,所以才会出现域名这个技术,但是IP地址依然是计算机的唯一标识,所以我们就需要把域名或者主机名解析成IP地址,才能定位计算机。
域名或者主机名到IP地址的解析通过使用本地机器配置信息和网络命名服务(如域名系统(Domain Name System,DNS)来实现。对于任何主机名称,都返回其相应的 IP 地址。反向名称解析意味着对于任何IP地址,都返回与IP地址关联的主机。
InetAddress 类提供将主机名解析为其 IP 地址(或反之)的方法。常用方法如下:
byte[] getAddress()
返回此 InetAddress 对象的原始 IP 地址。
InetAddress[] getAllByName(String host)
在给定主机名的情况下,根据系统上配置的名称服务返回其 IP 地址所组成的数组。
InetAddress getByAddress(byte[] addr)
在给定原始 IP 地址的情况下,返回 InetAddress 对象。
InetAddress getByAddress(String host, byte[] addr)
根据提供的主机名和 IP 地址创建 InetAddress。
InetAddress getByName(String host)
在给定主机名的情况下确定主机的 IP 地址。
String getCanonicalHostName()
获取此 IP 地址的完全限定域名。
String getHostAddress()
返回 IP 地址字符串(以文本表现形式)。
String getHostName()
获取此 IP 地址的主机名。
static InetAddress getLocalHost()
返回本地主机。
2、示例代码:
我们想知道一下百度服务器的IP地址,实现代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
打印后我们就知道百度服务器的IP地址是多少,运行结果如下:
二、URL类统一资源定位
1、简介
URL(Uniform Resource Locator)----统一资源定位器,表示Internet上某一资源的地址。java.net.URL类就是代表一个统一资源定位符,它是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。比如新浪的一个新闻的定位:
http://finance.sina.com.cn/china/20131119/000617358603.shtml
通常,URL 可分成几个部分。上面的 URL 示例指示使用的协议为 http (超文本传输协议)并且该信息驻留在一台名为 finance.sina.com.cn的主机上。主机上的信息名称为 china/20131119/000617358603.shtml,URL 的这一部分称为路径部分,主机上此名称的准确含义取决于协议和主机。该信息一般存储在文件中,但可以随时生成。该 。
URL可选择指定一个“端口”,它是用于建立到远程主机TCP连接的端口号。如果未指定该端口号,则使用协议默认的端口。例如,http 协议的默认端口为80。
应用程序也可以指定一个“相对 URL”,它只包含到达相对于另一个 URL 的资源的足够信息。HTML 页面中经常使用相对 URL。例如,假设 URL 的内容是:
http://java.sun.com/index.html
其中包含的相对 URL:FAQ.html
为以下形式的缩写:http://java.sun.com/FAQ.html
相对 URL 不需要指定 URL 的所有组成部分。如果缺少协议、主机名称或端口号,这些值将从完整指定的 URL 中继承。但是,必须指定文件部分。可选的片段部分不继承。
具体内容大家可以参考JDK文档。
2、示例代码
把新浪网站下载下来,在控制台显示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
有关网络的更是内容,我们在后面学习android的网络通讯是讲解,这里就不详细讲解了。下面我们学习使用socket进行网络通信。