Pregunta

Si la página web no requiere autenticación, mi código funciona bien, si lo hace, él los errores con EXC_BAD_ACCESS justo después de la impresión "de credenciales creado". No estoy liberando nada, y este código es copiado directamente de la documentación -? Alguna idea de lo que está mal

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
 if ([challenge previousFailureCount] == 0)
 {
  NSLog(@"received authentication challenge");

  NSURLCredential *newCredential;
  newCredential=[NSURLCredential credentialWithUser:@"root"
             password:@"rootpassword"
             persistence:NSURLCredentialPersistenceForSession];


  NSLog(@"credential created");

  [[challenge sender] useCredential:newCredential forAuthenticationChallenge:challenge];

  NSLog(@"responded to authentication challenge");

 }
 else
 {
  NSLog(@"previous authentication failure");

  UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Authentication Failure" 
              message:@"Website did not accept the username and password."
                delegate:nil
             cancelButtonTitle:@"OK" 
             otherButtonTitles:nil];
  [alert show];
  [alert release];
 }
}
¿Fue útil?

Solución

Resulta que es algo que ver con ese método de autenticación de sitios particulares -. Reemplazando el sitio web que desea iniciar sesión con otro sitio web y el código funciona bien

(yo estaba tratando de datos de raspado de la página de estado de unRaid, unRaid no utiliza un servidor web real, sino emhttp así que estoy asumiendo que tiene algo que ver con ello)

Otros consejos

El único que no está controlando es el valor de retorno de [challenge sender]. Intente imprimir su descripción para asegurar que es no nula.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top