IOS http https IP地址替换域名 基于AFNetworking3.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地址替换域名 基于AFNetworking3.0)