应用研发平台EMAS使用的是HTTPDNS+OkHttp 为什么访问时域名没有替换成ip?
OkHttp在访问URL时,可以通过接入阿里云公共DNS Android SDK实现域名到IP的替换。具体做法是在创建OkHttpClient时设置自定义的Dns实现类(如上文中的OkHttpDns),在lookup方法中调用阿里云公共DNS SDK提供的API进行域名解析,并将获取到的IP地址用于网络请求。
实现一个继承自Dns的类(例如OkHttpDns),并在其中使用阿里云公共DNS SDK进行域名解析。
在OkHttpDns的lookup方法中,如果成功获取到IP地址,则直接返回该IP对应的InetAddress列表。
创建OkHttpClient实例时,通过.dns(OkHttpDns.getInstance())配置自定义的DNS解析器。
这样,在发起网络请求时,OkHttp会先尝试使用自定义的DNS解析器将域名转换为IP地址,再基于IP地址进行网络连接。 ,此回答整理自钉群“应用研发平台EMAS开发者交流群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。