A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

提示: 该帖被管理员或版主屏蔽
签名被屏蔽

4 个回复

倒序浏览
本帖最后由 段海涛 于 2012-11-22 11:03 编辑

呵呵,奥妙在windows系统获取域名所对应的IP地址的机制
windows系统在目录C:\WINDOWS\system32\drivers\etc 下有一个hosts文件,里面可以存放 域名——>IP地址的映射记录
当windows试图获取域名所对应的ip地址时,首先就是从这个hosts文件中读取,如果能读取到,就取这个文件中所映射的ip地址,
如果这个文件中没有要查的映射,再去网络上的DNS即域名服务器查找

所以,我推测,你的系统中hosts文件中估计有这两条
119.75.218.77          www.baidu.com
119.75.217.56          www.baidu.com

这样,GetBaiDuIPs.java在没联网的情况下就获取到了www.baidu.com在hosts文件中映射的这两个ip地址;
为了验证,你可以试着把这个hosts文件中的baidu条目删到只剩一条,且修改成
127.0.0.1         www.baidu.com

修改保存后你再试试执行GetBaiDuIPs  ?
甚至,你可以把网络连上试试用ie打开www.baidu.com?
结果应该能够应证我上面所说的windows查找域名的机制
回复 使用道具 举报
这个获取到的应该是DNS缓存中的地址。你可以用CMD-->ipconfig /displaydns来查看下DNS的缓存。查看完后可以用ipconfig /flashdns来清除下DNS的缓存。
回复 使用道具 举报
huymd1234 发表于 2012-11-22 11:03
这个获取到的应该是DNS缓存中的地址。你可以用CMD-->ipconfig /displaydns来查看下DNS的缓存。查看完后可以 ...

这是截屏,那个是缓存呀?

ipconfig.jpg (105.36 KB, 下载次数: 58)

ipconfig.jpg
回复 使用道具 举报
王震阳 发表于 2012-11-22 11:11
这是截屏,那个是缓存呀?

按我给你的命令敲 ipconfig /displaydns
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马