오랜 시간 동안 NSMutableURLRequest를 사용하여 서버에 연결했습니다.HTTPS로 전환 할 때 NSURLRequest를 사용하여 authenticationchallenge를받는 이유는 무엇입니까?
이중로드 트맆을 방지하기 위해, 내가 설정 한 USR/비밀번호 바로 헤더에이 같은이 잘 근무하고있다
NSMutableURLRequest *request = [NSMutableURLRequest
requestWithURL:[NSURL URLWithString:url]
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:HTTP_REQUEST_TIMEOUT];
NSString *authStr = [NSString stringWithFormat:@"%@:%@", inUsr, inPwd];
NSString *authValue = [NSString stringWithFormat:@"Basic %@", [[authStr dataUsingEncoding:NSISOLatin1StringEncoding] base64EncodedStringWithOptions:0]];
[request setValue:authValue forHTTPHeaderField:@"Authorization"];
은 "willSendRequestForAuthenticationChallenge"가 호출되지 않습니다 일부 오류가 발생하지 않는 한 그 방법은 언제나처럼 보였다있다, 그래서 : 이제 그러나, 나는 "http"대신 같은 URL의 언제나처럼 만 "HTTPS"를 사용하고
- (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
NSDictionary *errorInfo = ((NSHTTPURLResponse *) challenge.failureResponse).allHeaderFields;
NSError *error; = [NSError errorWithDomain:@"httprequesthandler" code:WRONG_CREDENTIALS userInfo:errorInfo];
[delegate finishedWithErrors:error];
, 갑자기이 방법은 때마다 호출된다.
정상 요청대로 작동하도록 요청합니다. 즉 기본 헤더를 채우고 하나의 요청 만 서버에 보냅니다.
나는 무엇을 놓치고 있는지 모르겠다. 그래서 포인터는 많이 감사 할 것이다.
allright. 감사! – Mathias