我需要发一些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}
感谢任何帮助,谢谢。
答案 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.
获得解决方案