标签:
在工作的过程中,本人遇到了一个关于手机问题检测的项目,其中一个需求的功能是获取对url的域名解析后的ip地址;从网上找了大量的资料,都是相同的使用InetAddress通过url去获取dns解析的ip地址。在初步使用过程中,发现怎样都没法正确获取ip,都会抛出地址无法解析的异常,着实很奇怪,但是其它方法却怎么也找不到,而且由于域名解析是十分重要的内容,访问网页必然会用到这个函数,不可能会没有一个接口提供,最后想要尝试用ping来曲线救国,在测试的过程中发现ping在:ping www.baidu.com的格式下可以正常ping通,但是ping http://www.baidu.com的情况却无法ping通,这让我意识到了域名解析的过程是只需要找到其ip地址,已经有自己的协议的实现过程,而http指定的是主机之间的通信协议,与域名解析是无关的,因此只需要主机名即可通过域名解析获取其ip,http反而是一个多余的东西,因此在调用InetAddress的时候传入的host name为URL的getHostName()所获取的主机名,最终得到了正确的答案。
标签:
原文地址:http://www.cnblogs.com/toufu/p/4326461.html