Alamofire POST 请求错误 NSURLErrorDomain Code=-999
Alamofire POST request ERROR NSURLErrorDomain Code=-999
我正在我的项目中进行登录,我正在使用 Alamofire 请求 (swift 2.0),但我总是收到无法解决的错误。
Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo=... {NSErrorFailingURLKey=..., NSLocalizedDescription=cancelled, NSErrorFailingURLStringKey=...}
这是我的代码:
func login(email: String, password: String, completionHandler: (user: User?, statusCode: Int?, error: NSError?) -> ()) {
let parameters: [String: AnyObject] = [
"email" : email,
"password" : password
]
let urlSuffix = "loginUser"
request(.POST, baseUrl + urlSuffix, parameters: parameters)
.authenticate(user: email, password: password)
.validate()
.responseObject { (request, response, userJSON: Result<User>) in
print(request?.description)
print(response)
print(userJSON.value)
completionHandler(user: userJSON.value, statusCode: response?.statusCode, error: userJSON.error)
}
}
当用户按下按钮时,我在我的 LoginController 中调用该函数。
我浏览了很多关于该错误的帖子,但其中 none 给了我一个解决方案。问题是,我需要响应,一个 JSON 对象 包含用户的 ID。但是由于错误,我的 Result<User>
为零。
确保您的 baseUrl
使用 HTTPS 协议或为该域禁用 App Transport Security。
-999 线索是"cancelled."不允许您的连接。一种可能的原因是您正在尝试建立 SSL 连接,但客户端不信任 SSL 证书。
如果这是带有自签名证书的开发系统,您需要设置allowsInvalidSSLCertificate
。
否则,请检查 SSL 固定。默认情况下启用它,这意味着您可能需要预加载要信任的服务器的证书。
问题已解决,我将错误的变量传递给 .authenticate()
它们应该与我的参数不同 (email, password)
我正在我的项目中进行登录,我正在使用 Alamofire 请求 (swift 2.0),但我总是收到无法解决的错误。
Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo=... {NSErrorFailingURLKey=..., NSLocalizedDescription=cancelled, NSErrorFailingURLStringKey=...}
这是我的代码:
func login(email: String, password: String, completionHandler: (user: User?, statusCode: Int?, error: NSError?) -> ()) {
let parameters: [String: AnyObject] = [
"email" : email,
"password" : password
]
let urlSuffix = "loginUser"
request(.POST, baseUrl + urlSuffix, parameters: parameters)
.authenticate(user: email, password: password)
.validate()
.responseObject { (request, response, userJSON: Result<User>) in
print(request?.description)
print(response)
print(userJSON.value)
completionHandler(user: userJSON.value, statusCode: response?.statusCode, error: userJSON.error)
}
}
当用户按下按钮时,我在我的 LoginController 中调用该函数。
我浏览了很多关于该错误的帖子,但其中 none 给了我一个解决方案。问题是,我需要响应,一个 JSON 对象 包含用户的 ID。但是由于错误,我的 Result<User>
为零。
确保您的 baseUrl
使用 HTTPS 协议或为该域禁用 App Transport Security。
-999 线索是"cancelled."不允许您的连接。一种可能的原因是您正在尝试建立 SSL 连接,但客户端不信任 SSL 证书。
如果这是带有自签名证书的开发系统,您需要设置allowsInvalidSSLCertificate
。
否则,请检查 SSL 固定。默认情况下启用它,这意味着您可能需要预加载要信任的服务器的证书。
问题已解决,我将错误的变量传递给 .authenticate()
它们应该与我的参数不同 (email, password)