我遇到以下问题,我尝试使用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)
}
}
结果是"验证成功"这是对的,但问题是,当我试图调用我自己的服务时,如果有人想要查看它,这是Web服务的URL: https://rapidweb3000.com/RapidSentry/MiOSService.svc/GetUserIdentity/rrms/rapid123 正如您所见,此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。
答案 0 :(得分:6)
我想提供有关此主题的反馈,它似乎是Xcode 7 Beta模拟器中的一个错误,因为我在物理设备上测试应用程序,它确实工作正常。此外,当您重置模拟器并重新启动时,它将再次工作。 这是我们在beta应用程序中遇到的问题。
答案 1 :(得分:3)
状态代码500表示服务器出现问题,而不是您的代码。
答案 2 :(得分:3)
您可以将Alamofire / validation.swift文件中的acceptableStatusCodes范围从200 ..< 300更改为200 ..< 500
替换下面的行
let acceptableStatusCodes: Range<Int> = 200..<300
这一行
let acceptableStatusCodes: Range<Int> = 200..<500
答案 3 :(得分:0)
将可接受的状态代码范围传递给validate函数,如下所示:
.validate(statusCode: 200..<500)