使用Alamofires ServerTrustPolicy.disableEvaluation這是我的會話管理器類如何迅速3
import UIKit
import Alamofire
import ObjectMapper
import AlamofireObjectMapper
import Reqres
class Manager: SessionManager {
static let sharedInstance: Manager = Manager()
static let manager: Manager = {
let configuration = Reqres.defaultSessionConfiguration()
let manager = Manager(configuration: configuration)
return manager
}()
func getRequest(url:URL,param:Parameters,withSuccess success:@escaping (_ response: Dictionary<String, Any>) ->()){
guard Utils.isInternetAvailable() else{
Utils.showAlert(message: "Internet connection lost", action: {
})
return
}
Utils.addHUD()
Alamofire.request(url, method: .get, parameters: param, encoding: URLEncoding.default).responseJSON { (response:
DataResponse<Any>) in
guard response.result.isSuccess else{
Utils.hideHUD()
Utils.showAlert(message: (response.result.error?.localizedDescription)!, action: {
})
return
}
Utils.hideHUD()
print(response.request!) // original URL request
print(response.response!) // HTTP URL response
print(response.data!) // server data
print(response.result) // result of response serialization
success(response.result.value! as! Dictionary<String, Any>)
}
}
}
我必須做出請求到服務器的URL是沒有有效的SSL certificates.I HTTPS請求已經應用服務器策略這樣做,但仍然得到錯誤: 「此服務器的證書無效」
,我已經嘗試其他替代
class Manager: SessionManager {
static let manager: Manager = {
let configuration = Reqres.defaultSessionConfiguration()
let serverTrustPolicies: [String: ServerTrustPolicy] = ["192.168.1.28:8443": .DisableEvaluation]
let manager = Manager(configuration: configuration, serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies))
return manager
}()
你爲什麼要創建一個CustomServerTrustPolicyManager。您可以直接執行ServerTrustPolicyManager(策略:serverTrustPolicies)。任何特定的原因來創建一個自定義的? –
我已經嘗試過,但沒有工作 –
您是否還在plist中設置了App Transport安全設置? –