java代码中发送http请求的DnsResolver使用问题

来源:互联网 发布:淘宝高仿鞋子店铺名字 编辑:程序博客网 时间:2024/06/05 18:37

http请求中使用DnsResolver的方式有两种,一种是使用默认的DnsResolver,一种是自定义一种DnsResolver

1. 使用默认的DnsResolver

DnsResolver dnsResolver = new SystemDefaultDnsResolver();
这种方式,当代码运行时,会用代码所在的机器上的host文件一些一些其他的方式去解析目的机器(域名)

2. 自定义DnsResolver

代码如下

private static DnsResolver getDnsResolver() {        InMemoryDnsResolver dnsResolver = new InMemoryDnsResolver();        try {            dnsResolver.add("dev4.baike.xx.com", Inet4Address.getByName("1.1.1.1"));            dnsResolver.add("baike.baidu.com", Inet4Address.getByName("2.2.2.2"));        } catch (Exception e) {            e.printStackTrace();        }        return dnsResolver;    }

这样,代码运行时就会根据自定义的这个DnsResolver来解析,比如http请求中目的机器是baike.baidu.com,那么目的机器就会被解析成2.2.2.2

0 0
原创粉丝点击