Утро Каждый,
Я пытаюсь написать приложение, которое выполняет некоторые GET с удаленной веб-службы, требующей проверки подлинности. Моя основная проблема заключается в том, что большинство этих удаленных серверов (и их много) не имеют действительных сертификатов. У меня есть код, чтобы принять недействительный сертификат и код для ответа на вызов с правильным uname и pass (ниже). Проблема, с которой я сталкиваюсь, - заставить обоих играть вместе. Кажется, я не могу найти способ отправить вызов как NSURLCredential
, так и способ правильно привязать обратные вызовы. Когда я пытаюсь связать их, я не могу заставить мой NSURLRequest
дважды звонить didReceiveAuthenticationChallenge
.
Любые мысли будут оценены!
Код для проверки подлинности...
-(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
{
if(!hasCanceled){
if ([challenge previousFailureCount] == 0) {
NSURLCredential *newCredential;
newCredential=[NSURLCredential credentialWithUser:_username password:_password persistence:NSURLCredentialPersistenceNone];
[[challenge sender] useCredential:newCredential forAuthenticationChallenge:challenge];
}
else {
[[challenge sender] cancelAuthenticationChallenge:challenge];
NSLog(@"Bad Username Or Password");
badUsernameAndPassword = YES;
finished = YES;
}
}
}