由于TIC SSL信任错误,无法使用Alamofire发出请求

时间:2018-09-27 07:08:48

标签: ios swift xcode alamofire

我已设置-允许任意加载为是

我正在使用以下代码来触发请求:

let apiAddress = somehttpsAddress
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 30 // seconds
configuration.timeoutIntervalForResource = 30 //seconds
AFManager = Alamofire.SessionManager(configuration: configuration)
AFManager.request(apiAddress , method: .post, parameters: body, encoding: JSONEncoding.default, headers: header).responseJSON { response in
            // utility
}

但是我得到的只是这些错误:

TIC SSL Trust Error [1:0x60c000161c80]: 3:0
NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813)

我不明白这里缺少什么,应该如何纠正。请帮助我纠正此问题。

2 个答案:

答案 0 :(得分:2)

如果您连接到某些公共网络或校园网络,则它们可能已安装了一些限制软件,例如Cyber​​oam。您提出请求的地址可能受到限制。您可以请求访问该特定网站的权限。

答案 1 :(得分:0)

这里的问题是Alamofire认为这不是有效的ssl证书。尝试将其用作管理员:

    private static var Manager : Alamofire.SessionManager = {
    // Create the server trust policies
    let serverTrustPolicies: [String: ServerTrustPolicy] = [
        "your domain goes here": .disableEvaluation
    ]
    // Create custom manager
    let configuration = URLSessionConfiguration.default
    configuration.httpAdditionalHeaders = Alamofire.SessionManager.defaultHTTPHeaders
    let man = Alamofire.SessionManager(
        configuration: URLSessionConfiguration.default,
        serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies)
    )
    return man
}()