【问题标题】:UIWebView+AFNetworking issueUIWebView+AF网络问题
【发布时间】:2016-11-16 07:20:19
【问题描述】:

我使用这个代码:

webView.loadRequest(request!, progress: nil, success: { (responce, html) in
            print("\n\n\nsuccess responce = ", html)
            return html
        }, failure: { (error) in
            print("\n\n\nerror = ", error)
        })

但我的服务器的 SSL 证书无效。所以我需要设置一个安全策略。在我这样做之前:

[AFHTTPRequestOperationManager manager].securityPolicy.allowInvalidCertificates = YES;

但在 AFNetworking 3 中不再有 AFHTTPRequestOperationManager 类。如何为 AFNetworking 3 中的所有请求设置安全策略?

【问题讨论】:

    标签: ios ssl afnetworking afnetworking-3


    【解决方案1】:

    AFNetworking 3 等效于 AFHTTPRequestOperationManagerAFHTTPSessionManager

    所以你应该在 webView 本身上使用它:

    webView.sessionManager.securityPolicy.allowInvalidCertificates = YES;
    

    当然另一种解决方案是修复服务器上的无效证书。

    【讨论】:

      【解决方案2】:

      你可以的,

       AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
       manager.securityPolicy.allowInvalidCertificates = YES;
      

      参考:AFNetworking

      【讨论】:

      • 这不起作用,因为[AFHTTPSessionManager manager] 创建了一个未链接到网络视图的新管理器。
      • 我刚刚给出了选项而不是AFHTTPRequestOperationManager,因为OP 要求AFHTTPRequestOperationManagerAFNetwrking 3.0 中不可用!! OP 要求根据所有请求设置安全策略!所以他/她可以使用AFHTTPSessionManager 作为单身人士!
      • [AFHTTPSessionManager manager] 确实返回单例,它创建了一个新的会话管理器对象。
      • 是的,但我们只能创建一次会话管理器对象,也可以作为单例工作!
      猜你喜欢
      • 2015-11-06
      • 1970-01-01
      • 2015-06-02
      • 2016-03-15
      • 2019-12-18
      • 2011-06-01
      • 2011-07-04
      • 2012-02-13
      相关资源
      最近更新 更多