Pie*_*rre 6 java dns host bioinformatics
在一篇关于生命科学标识符的论文中(参见LSID Tester,一种测试生命科学标识符解析服务的工具),Roderic DM Page博士写道:
鉴于LSID urn:lsid**:ubio.org**:namebank:11815,查询DNS以获取_lsid._tcp的SRV记录.ubio.org返回animalia.ubio.org:80作为ubio.org LSID服务的位置.
我了解到我可以使用unix上的host命令将_lsid._tcp.ubio.org链接到animalia.ubio.org:80 :
host -t srv _lsid._tcp.ubio.org
_lsid._tcp.ubio.org has SRV record 1 0 80 ANIMALIA.ubio.org
Run Code Online (Sandbox Code Playgroud)
如何使用Java J2SE API执行此"DNS"操作(没有任何外部Java库,我想要一个轻量级的解决方案)?
谢谢
Dea*_*vey 18
JNDI DNS提供程序可以查找SRV记录.你需要做一些事情:
Hashtable env = new Hashtable();
env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory");
env.put("java.naming.provider.url", "dns:");
DirContext ctx = new InitialDirContext(env);
Attributes attrs = ctx.getAttributes("_lsid._tcp.ubio.org", new String[] { "SRV" });
Run Code Online (Sandbox Code Playgroud)
返回的属性是字符串的枚举,看起来像"1 0 80 ANIMALIA.ubio.org".空格分隔的字段按顺序排列:
| 归档时间: |
|
| 查看次数: |
8919 次 |
| 最近记录: |