美文网首页
IOS http https IP地址替换域名 基于AFNetw

IOS http https IP地址替换域名 基于AFNetw

作者: 传火的余烬 | 来源:发表于2017-04-26 11:28 被阅读0次

    在IOS网络层中这里使用AFNetworking3.0处理。

    http的情况下 直接使用AFNetworking请求,不做任何处理的的会无法访问成功错误提示是 "Error Domain=com.alamofire.error.serialization.response Code=-1011"。
    要解决 http 地址替换域名只需要在http header加上 host 就可以了。代码如下
    //测试地址是无效,只是未来演示
    NSString *baseURL = @"http://test.test.com/test"
    NSString *IPURL = @"http://183.121.11.22/test"

    NSURL *URL = [NSURL URLWithString: IPURL];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL];
    [request setValue:@"test.test.com" forHTTPHeaderField:@"host"];

    这样 http 地址替换域名就解决了。

    https
    https情况跟http不同这里https情况下这里一种简单的解决方式
    securityPolicy.validatesDomainName = NO; 即可
    AFNetworking默认validatesDomainName 是YES。

    另一种方式是 在 AFNetworking 的源码上修改

    AFSecurityPolicy.m文件中的

    • (BOOL)evaluateServerTrust:(SecTrustRef)serverTrust
      forDomain:(NSString *)domain {

       if ( [@"domian" isEqualToString:自己的公司的域名的地址] )
              return YES;
      
         //AFNetworking 的原生代码
          *******
          *******等
      

    }

    大概就是以上2种解决方式。

    相关文章

      网友评论

          本文标题:IOS http https IP地址替换域名 基于AFNetw

          本文链接:https://www.haomeiwen.com/subject/gbzvzttx.html