Certificate Alamofire 4-Swift 3-凭证和自签名证书
我正在使用Alamofire并尝试从我的服务器获取JSON提要。服务器具有自签名证书,并可通过用户和密码进行访问 这是我的密码Certificate Alamofire 4-Swift 3-凭证和自签名证书,certificate,alamofire,credentials,Certificate,Alamofire,Credentials,我正在使用Alamofire并尝试从我的服务器获取JSON提要。服务器具有自签名证书,并可通过用户和密码进行访问 这是我的密码 let user = "user" let password = "password" let url1 = "https://10.0.1.2:4711/fhem/?cmd=jsonlist2&XHR=1" let credential = URLCredential(user: user, password: password,
let user = "user"
let password = "password"
let url1 = "https://10.0.1.2:4711/fhem/?cmd=jsonlist2&XHR=1"
let credential = URLCredential(user: user, password: password, persistence: .forSession)
let serverTrustPolicies :[String: ServerTrustPolicy] = [
"10.0.1.8": .disableEvaluation
]
let AlamoSession = SessionManager(serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies))
AlamoSession.request(url1 )
.authenticate(usingCredential: credential)
.responseJSON { response in
debugPrint(response.response)
print("Result value \(response.result.value)")
//print (response.result.value?.valueForKey("status"))
}
但它不起作用
我怎样才能做到
通过自签名证书在https Url上发出get请求
在我的应用程序的info.plist中,我添加了
应用程序传输安全设置-允许任意加载-是我使用此代码忽略了SSL错误
import Alamofire
struct WebAPI {
static let sessionManager: SessionManager = {
switch MyEnvironment.server {
case .development:
return Alamofire.SessionManager(
serverTrustPolicyManager: ServerTrustPolicyManagerForDevelop()
)
case .staging, .production:
return Alamofire.SessionManager()
}
}()
private class ServerTrustPolicyManagerForDevelop: ServerTrustPolicyManager {
init() {
super.init(policies: [:])
}
override func serverTrustPolicy(forHost host: String) -> ServerTrustPolicy? {
return .disableEvaluation
}
}
}