java JNDI 自己指定DNS服务器解析域名IP
来源:互联网 发布:淘宝卖项链的白金 编辑:程序博客网 时间:2024/06/02 09:06
目标:
1、自己指定域名服务器
2、指定多域名服务器
3、获取所有IP
实现参考:
JNDI
http://docs.oracle.com/javase/1.4.2/docs/guide/jndi/jndi-dns.html
http://mindprod.com/jgloss/dns.html
详细参考自己查看
实现:
/** * 获取DNS服务器信息 * * @param domain 要获取DNS信息的域名 * @param provider DNS服务器 * @param types 信息类型 "A"(IP信息),"MX" * @param timeout 请求超时 * @param retryCount 重试次数 * * @return 所有信息组成的数组 * * @throws NamingException * */ @SuppressWarnings("rawtypes" ) public static ArrayList<String> getDNSRecs(String domain, String provider, String [] types, int timeout, int retryCount) throws NamingException { ArrayList<String> results = new ArrayList<String>(15); Hashtable<String, String> env = new Hashtable<String, String>(); env.put( "java.naming.factory.initial" , "com.sun.jndi.dns.DnsContextFactory" ); //设置域名服务器 env.put(Context. PROVIDER_URL, "dns://" + provider); // 连接时间 env.put( "com.sun.jndi.dns.timeout.initial" , String.valueOf(timeout)); // 连接次数 env.put( "com.sun.jndi.dns.timeout.retries" , String.valueOf(retryCount)); DirContext ictx = new InitialDirContext(env); Attributes attrs = ictx.getAttributes(domain, types); for (Enumeration e = attrs.getAll(); e.hasMoreElements();) { Attribute a = (Attribute) e.nextElement(); int size = a.size(); for (int i = 0; i < size; i++) { results.add((String) a.get(i)); } } return results; } /** * 获取域名所有IP * @param domain 域名 * @param dnsServers DNS服务器列表 * @param timeout 请求超时 * @param retryCount 重试次数 * @return */ public static Set<String> getAllIP(String domain, String[] dnsServers, int timeout, int retryCount) { Set<String> ips = new HashSet<String>(); for(String dnsServer: dnsServers) { List<String> ipList; try { ipList = getDNSRecs(domain, dnsServer, new String[]{"A"}, timeout, retryCount); } catch (NamingException e) { continue; } ips.addAll(ipList); } return ips; }
- java JNDI 自己指定DNS服务器解析域名IP
- DNS BIND 搭建域名智能解析DNS服务器之IP地址归类(ACL)
- Dns解析和设置指定域名
- dns服务器--域名IP匹配--安装配置域名服务器
- centos 搭建dns服务器 解析任意域名
- DNS 禁用权威域名服务器递归解析
- DNS BIND 搭建域名智能解析DNS服务器之配置
- 域名如何解析到指定IP?
- java.net.UnknownHostExceptin:,DNS域名无法解析
- Linux命令dig,使用指定DNS服务器查询域名
- 域名?主机?IP?DNS?
- 子网掩码与IP地址;网关;DNS域名服务器;DHCP;
- c-ares DNS域名异步解析成IP
- DNS域名服务器
- 备用DNS域名服务器
- DNS域名服务器
- 服务器网站主机头设置及域名DNS解析
- 让DNS服务器集中解析域名及设置网站端口映射
- oracle OEM的安装与配置(常用命令)
- iOS开发11:UIPickerView控件(1)
- android重要布局属性详解
- js 发声
- js 发声
- java JNDI 自己指定DNS服务器解析域名IP
- 启动ArcGIS Server的时候上次关闭的MapServer不启动设置
- 自动伸缩iframe高度
- Android配置杂记
- VC6.0Debug调试总结
- Passbook不会抢移动支付饭碗的3个理由
- 编译安卓 2.2 需要的目标 out/host/linux-x86/framework/hosttestlib.jar 安装jdk1.6解决
- levelDB源码分析-Slice
- 梦想工厂