使用NSURLSession处理HTTPS证书错误

时间:2018-04-05 11:04:45

标签: ios swift https nsurlsession

我有以下代码:

let task = session.dataTask(with: request as URLRequest, completionHandler: {data, response, error -> Void in
        if(data != nil){
            //...
        } else if(error != nil) {
            //...
        }

        //...
    })

    task.resume()

我正在尝试使用未经授权的CA向服务器实施HTTPS请求,并正确处理未经授权的CA错误。问题是它是证书,非服务器,客户端错误,因此响应为零。我唯一拥有的是Error对象,它只有两个有用的方法:localisedDescription()debugDescription()

我认为它们中没有一个真的应该用于解析生产中的错误,那么最佳做法应该是什么呢?

1 个答案:

答案 0 :(得分:0)

guard让httpResponse =响应为? HTTPURLResponse else {  让errorNetwork =错误为! NSError; Print(“ Status:(String(describing:errorNetwork.code))”完成(nil,.requestFailed,errorNetwork.code); //将其传递到上面的图层。             返回           }