Alamofire 总是给我错误状态代码 500 作为响应

Alamofire always give me error with status code 500 in response

我面临以下问题,我正在尝试使用 Alamofire 访问我的应用程序中的一些 Web 服务,这是我正在使用的代码:

Alamofire.request(.GET, "https://httpbin.org/get")
        .validate()
        .responseJSON { response in
            switch response.result {
            case .Success:
                print("Validation Successful")
            case .Failure(let error):
                print(error)
            }
    }

结果是 "Validation Successful" 这是正确的,但问题是当我尝试调用我自己的服务时,如果有人想要的话,这是 Web 服务的 url看看这个: https://ratid.com/RapidSentry/MiOSService.svc/GetUserIdentity... 如您所见,此 Web 服务工作正常,但是当我调用相同的代码但使用 url 时,出现以下错误:

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

我已经在 android 应用程序中使用此 Web 服务并且可以很好地处理 GET 请求 请在这个问题上提供任何帮助,我将不胜感激。 注意:我使用的是 Xcode 7 和 swift.

状态代码 500 表示服务器有问题,与您的代码无关。

Status code in HTTP

我想就此提供反馈,这似乎是 Xcode 7 Beta 模拟器中的错误,因为我在物理设备上测试了该应用程序并且它运行良好。此外,当您重置模拟器并重新启动时,它会再次开始工作。 这就是我们在使用 betas 时遇到的问题。

您可以将 Alamofire/validation.swift 文件中可接受的状态码范围从 200..<300 更改为 200..<500

替换下行

let acceptableStatusCodes: Range<Int> = 200..<300

用这条线

let acceptableStatusCodes: Range<Int> = 200..<500

像这样将可接受的状态代码范围传递给验证函数:

.validate(statusCode: 200..<500)