我可以使用Netty检索DNS TXT数据吗?例如,使用DnsNameResolver?
看起来我可以得到DNS查找,但我在答案中看不到任何东西我可以使用Netty检索DNS TXT数据吗?例如,使用DnsNameResolver?,netty,Netty,看起来我可以得到DNS查找,但我在答案中看不到任何东西 final DnsNameResolver resolver = new DnsNameResolverBuilder(EVENT_LOOP_GROUP.next()) .channelType(NioDatagramChannel.class) .queryTimeoutMillis(Duration.ofSeconds(dnsTimeoutSeconds).plusMillis(dnsT
final DnsNameResolver resolver = new
DnsNameResolverBuilder(EVENT_LOOP_GROUP.next())
.channelType(NioDatagramChannel.class)
.queryTimeoutMillis(Duration.ofSeconds(dnsTimeoutSeconds).plusMillis(dnsTimeoutMilliseconds).toMillis())
.recursionDesired(true)
.build();
try {
final AddressedEnvelope<DnsResponse, InetSocketAddress> result =
resolver
.query(new DefaultDnsQuestion(host, DnsRecordType.TXT))
.get();
...
final DnsNameResolver解析器=新建
DnsNameResolverBuilder(事件\循环\组.next())
.channelType(NioDatagramChannel.class)
.queryTimeoutMillis(持续时间.of秒(dnsTimeoutSeconds).plusMillis(DNstimeOutMillSeconds).toMillis())
.recursionDesired(真)
.build();
试一试{
最终地址开发结果=
分解器
.query(新的DefaultDnsQuestion(主机,DnsRecordType.TXT))
.get();
...
我可以使用Netty检索DNS TXT数据吗?例如,使用DNSNamersolver
是的,你可以
您所做的没有错,但缺少某些部分。AddressedDevelope
是邮件、发件人和收件人地址的容器。您只需从AddressedDevelope
获取邮件,然后在DnsMessage
中查找答案
private static String resolveTxt(String dnsRecord) throws InterruptedException, ExecutionException {
DnsMessage message = resolver.query(new DefaultDnsQuestion(dnsRecord, DnsRecordType.TXT)).get().content();
if(message.count(DnsSection.ANSWER) > 0) {
DefaultDnsRawRecord record = message.recordAt(DnsSection.ANSWER, 0);
return DefaultDnsRecordDecoder.decodeName(record.content());
}
return null;
}