ios - Alamofire HTML 请求在每个应用程序安装时仅有效一次

标签 ios swift alamofire

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

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

如果我删除该应用程序并重新安装它,它会再次正常工作一次,然后我可以再次发出 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)
            }
        }

这是每次安装一次后都会出现的错误:

Error Domain=com.alamofire.error Code=-6003 "Response status code was >unacceptable: 403" UserInfo={NSLocalizedFailureReason=Response status >code was unacceptable: 403}

感谢任何帮助,谢谢。

最佳答案

只要有 Result,就会提供 NSHTTPURLResponse。因此,如果您没有将响应传递到您可能需要的地方,那么这是客户端的实现问题,而不是 Alamofire 的问题。这正是它如此设计的原因。

除了 statusCode 之外,响应中还有许多其他内容可能有用。因此,我们不想对statusCode设置特殊异常(exception)。以下是您应如何尝试处理此问题的简单示例。

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)
        }
    }

或者

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

        callFailureMethod(response: response, result: result)
    }

祝你好运!

我从 THIS. 获取解决方案

关于ios - Alamofire HTML 请求在每个应用程序安装时仅有效一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36811507/

相关文章:

ios - (Swift) 通过设置中的电池页面获取其他应用的使用数据

ios - 如何更新快速布局 anchor ?

ios - Alamofire URLRequestConvertible 无法在编码中转义 "/"

带有圆角和背景错误的 iOS UIButton

iOS 蓝牙 : central- peripheral got connected before accepting pairing request

ios - 将引用存储在变量 SWIFT 4 中

objective-c - 如何对图像中的颜色进行采样

swift - Alamofire 的格式化字典

ios - ld : framework not found Alamofire

php - 如何将短信网关与parse.com的服务器集成