AFNetworking 2.0-error inesperado de NSURLErrorDomain-1012
(2)
Creo que ya resolvió el problema, pero si está intentando autenticarse en un servidor que no tiene un certificado válido, debe establecer YES
para la propiedad allowInvalidCertificates
en su objeto AFHTTPRequestOperationManager
:
[yourManager.requestSerializer setAuthorizationHeaderFieldWithUsername:@"your_username" password:@"your_password"];
[yourManager.securityPolicy setAllowInvalidCertificates:YES];
Además, como dijo @ a1phanumeric, puede ser necesario incluir esta línea:
[yourManager.securityPolicy setValidatesDomainName:NO];
Aclamaciones.
Nos encontramos con el siguiente problema con nuestra aplicación que utiliza AFNetworking 2.0 . Al usar el método GET de AFHTTPRequestOperationManager
, obtuvimos un error NSURLErrorDomain code -1012
. La solicitud utilizó HTTPS y el servidor no requiere autenticación del usuario. La solicitud nunca llegó al servidor por cierto.
Hemos realizado varias pruebas y esta es la primera vez que se produjo el error y nos preguntamos cómo se puede producir este error porque no parece relevante.
Configuración de AFHTTPRequestOperationManager:
httpOperationManager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:
[NSURL URLWithString: HTTPS_URL)]];
httpOperationManager.responseSerializer =
[AFXMLParserResponseSerializer serializer];
[[AFNetworkActivityIndicatorManager sharedManager] setEnabled: YES];
OBTENER SOLICITUD
AFHTTPRequestOperation *op =[httpOperationManager GET:
[NSString stringWithFormat:SOME_PATH]
parameters:nil
success:^(AFHTTPRequestOperation *operation, id responseObject) {
//code to setup NSXMLParser ...
}
failure: ^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error %@", [error localizedDescription]);
}];
NSURLErrorDomain -1012 es NSURLErrorUserCancelledAuthentication
. (Consulte la lista de códigos de error y busque -1012.)
Usted declara, "el servidor no requiere autenticación de usuario". Pero este error no sería llamado si eso fuera cierto.
Posibles causas:
- Su servidor está solicitando erróneamente la autorización (un error del servidor)
- La URL formada con
HTTPS_URL
ySOME_PATH
no es lo que usted espera, y algún otro servidor está solicitando autorización - Algunos intermediarios (como un servidor proxy o un punto de acceso) requieren autorización.
Algunos consejos de depuración:
- Establezca puntos de interrupción dentro de la implementación de AFNetworking para ver qué URL está siendo afectada
- Configure AFHTTPRequestOperationLogger para que pueda ver el cuerpo de la solicitud real y la respuesta en el registro de su consola
- Haga la misma solicitud con
curl
o Advanced Rest Client y observe la respuesta del servidor
Nota al [NSString stringWithFormat:SOME_PATH]
: Creo que [NSString stringWithFormat:SOME_PATH]
tiene sentido, ¿por qué no usar SOME_PATH
?