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种解决方式。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、网络基础知识介绍 1、为什么要学习网络编程?---pptx介绍。 2、网络的基本概念---pptx介绍。 >什...
    小番茄阳阳阅读 682评论 0 0
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,753评论 2 7
  • 概述 从上图可以看出,AFNetwoking框架是一个比较简洁的框架,主要分了几个部分: 1.->网络通信模块:N...
    彬至睢阳阅读 1,123评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,200评论 19 139
  • 218.241.181.202 wxhl60 123456 192.168.10.253 wxhl66 wxhl6...
    CYC666阅读 1,473评论 0 6