背景
最近App似乎有报异常是DNS无法解析,尝试解决此问题.搜集到的资料很少,甚至连AFN原作者都判定这可能是一个无解的问题,参见: https://github.com/AFNetworking/AFNetworking...问题描述
通过IP直接访问网站,可以解决DNS劫持问题.DNS劫持,可以通过修改电脑的host文件模拟.如果是HTTP请求,使用ip地址直接访问接口,配合header中Host字段带上原来的域名信息即可...网站,iOS中集成curl库应该也可以,不过改动太大,未验证;对于服务器IP经常变的情况,可能需要使用httpDNS服务,参见:https://www.dnspod.cn/httpdns....最直接的方式是允许无效的SSL证书,生产环境不建议使用;
2.一个需要部分重写AFN源码的方法....AOP方法,重写 AFURLConnectionOperation 的trustHostnames属性:
/* 使用AOP方式,指定可信任的域名, 以支持:直接使用ip访问特定https服务器.