Domanda

Se il sito non richiede l'autenticazione, il mio codice funziona bene, se lo fa, gli errori con EXC_BAD_ACCESS subito dopo la stampa "credenziale creato". Non sto rilasciando nulla, e questo codice viene copiato direttamente dalla documentazione -? Idea di ciò che è sbagliato

- (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];
 }
}
È stato utile?

Soluzione

Risulta è qualcosa a che fare con quel metodo di autenticazione siti particolari -. Sostituendo il sito che voglio per accedere con un altro sito web e il codice funziona bene

(stavo cercando di raschiare dati dalla pagina di stato di unRaid, unRaid non utilizza un server web vero e proprio, ma in modo emhttp sto supponendo che ha qualcosa a che fare con esso)

Altri suggerimenti

L'unica cosa che non stai controllando è il valore di ritorno di [challenge sender]. Provare a stampare la sua descrizione per garantire che è non-zero.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top