【问题标题】:Alamofire POST request ERROR NSURLErrorDomain Code=-999Alamofire POST 请求错误 NSURLErrorDomain 代码=-999
【发布时间】:2015-11-18 07:22:33
【问题描述】:

我正在我的项目中登录,我正在使用 Alamofire 请求 (swift 2.0),但我总是遇到无法解决的错误。

错误域=NSURLErrorDomain 代码=-999 “取消” 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 中调用该函数。

我浏览了很多关于该错误的帖子,但没有一个给我解决方案。问题是,我需要响应,一个包含用户 ID 的 JSON 对象。但由于错误,我的Result&lt;User&gt; 为零。

【问题讨论】:

    标签: ios iphone httprequest swift2 alamofire


    【解决方案1】:

    问题已解决,我将错误的变量传递给 .authenticate() 它们应该与我的参数 (email, password) 不同

    【讨论】:

      【解决方案2】:

      确保您的 baseUrl 使用 HTTPS 协议或禁用该域的应用传输安全。

      【讨论】:

        【解决方案3】:

        -999 线索被“取消”。不允许您的连接。一个可能的原因是您尝试建立 SSL 连接,但客户端不信任 SSL 证书。

        如果这是带有自签名证书的开发系统,则需要设置allowsInvalidSSLCertificate

        否则,请检查 SSL 固定。默认情况下已启用,这意味着您可能需要预加载证书才能使服务器受信任。

        【讨论】:

          猜你喜欢
          • 2017-03-19
          • 2018-11-04
          • 2017-03-14
          • 1970-01-01
          • 2013-04-11
          • 1970-01-01
          • 1970-01-01
          • 2016-01-13
          相关资源
          最近更新 更多