Vejo que há uma lista de códigos de status de http aceitos que posso modificar, mas acho que seria mais claro se eu pudesse obter o código de status de http no bloco de falha.
Ok, encontrei a resposta com o objeto de operação
failure:^(AFHTTPRequestOperation *operation, NSError *error){
NSLog(@"error code %d",[operation.response statusCode]);
}];
afnetworking
MonkeyBonkey
fonte
fonte
[operation.request HTTPMethod]
Em versões mais recentes do AFNetworking, você pode recuperar o objeto de resposta do erro:
Isso é útil se você estiver tratando de erros mais adiante na linha e não quiser passar o objeto de resposta.
fonte
NSError *underlyingError = error.userInfo[@"NSUnderlyingError"]
Para AFNetworking 3.0 , use
fonte
Se os pedidos foram cancelados / inacessíveis / timeout,
httpStatusCode
será sempre0
.Como alternativa, você pode identificar o problema entendendo o
operationStatusCode
. É umNSError
objeto.operationStatusCode
será-1009
.operationStatusCode
será-999
.Você pode verificar todos os outros
NSError
códigos e suas descrições na documentação da Applefonte
Consegui obter o código de status com o Swift 3:
fonte
É trabalho para mim Adicione a linha abaixo à sua solicitação
manager.requestSerializer = [AFJSONRequestSerializer serializer];
fonte