我在本机上用jsp写了一个urlconnection抓网页的程序用来生成html,可以用,放到server上刚开始也好用。突然有一 天,urlconnection无法解析该二级域名,应该是导向net.net这个域名,在服务器上测试dns也没问题,freebsd的fetch可以 正常访问。
程序本身没有问题,其他网站163 google 甚至域名下的其他二级域名也可以访问,就某一特定二级域名无法访问。
初步分析应该是urlconnection的dns出了问题
于是 java.net.InetAddress.getByName("www.domain.com") 查询到对应的ip 验证当初的假设
在java的程序开发中,要查找一个域名的ip,最方便的办法就是调用 java.net.InetAddress.getByName("www.domain.com"),就可以得到一个IP了。InetAddress内 部有一个dns解析的缓存,而在默认的情况下缓存的时间是“永久”,这个默认的行为可以通过修改java.security文件或者在启动时增加一个参数 -Dsun.net.inetaddr.ttl=0 来禁止缓存.
问题迎刃而解,不过也浪费了好几天的时间,拿出来分享一下