Alamofire HTML请求每个应用程序安装仅运行一次

时间:2016-04-23 13:32:15

标签: ios swift alamofire

我需要发一些HTML请求,我决定使用Alamofire。

我第一次提出下面的请求,它工作正常,返回访问密钥。然后,如果我再次尝试进行任何调用(登录,注销,注册等任何调用),它都不起作用,它会失败并给我错误。

如果我删除应用程序并重新安装它,它再次工作一次,而不是我可以再次提出1请求,直到它开始给我错误。

以下是登录请求:

    let parameters : [ String : String] = [
        "email": email,
        "password":password
    ]
    Alamofire.request(.POST, url, parameters: parameters).validate()
        .responseJSON { response in
            switch response.result {
            case .Success:
                if let json = response.result.value {
                    print("JSON: \(json)")
                }
            case .Failure(let error):
                print(error)
            }
        }

以下是每次安装后每次运行一次时出现的错误:

  

错误Domain = com.alamofire.error Code = -6003"响应状态代码是>不可接受的:403" UserInfo = {NSLocalizedFailureReason =响应状态>代码是不可接受的:403}

感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

结果可用的任何地方,还提供 NSHTTPURLResponse 。因此,如果您没有将响应传递到您可能需要的地方,那么这是客户端的实施问题,而不是Alamofire的问题。这正是它按原样设计的原因。

除了statusCode之外,响应中还有许多其他内容可能很有用。因此,我们不希望对 statusCode 做出特殊例外。以下是您应如何尝试处理此问题的快速示例。

Alamofire.request(.GET, "https://httpbin.org/get")
    .responseJSON { request, response, result in
        switch result {
        case .Success(let JSON):
            print(JSON)
        case .Failure(let data, let error):
            print(response?.statusCode)
            print(error)

            callFailureMethod(response: response, result: result)
        }
    }

OR

Alamofire.request(.GET, "https://httpbin.org/get")
    .responseJSON { request, response, result in
        debugPrint(result)
        print(response?.statusCode)

        callFailureMethod(response: response, result: result)
    }

祝你好运!

我从THIS.

获得解决方案