2

기본 인증 문제에 직면하고 있으며이 문제에 대한 이유를 알 수 없습니다. 기본 인증에서 응답 코드 200 (즉, 인증 성공)이 표시되지만 때로는 iOS 애플리케이션에서 응답 데이터를 제대로받지 못하는 경우가 있습니다. 요청 URL을 브라우저 (심지어 iPhone Safari 브라우저에서도)에 붙여 넣으면 항상 응답을 받고 있습니다.하지만 iOS 응용 프로그램에서 응답을 얻지 못하는 이유는 무엇입니까?basicAuthentication으로 인해 didReceiveData에 이상한 문제가 발생했습니다.

구글과 스택 오버플로 예를 들어 link1과 같이 많은 다른 문제를 겪었지만 행운은 없습니다.

내 코드는 다음과 같습니다 :

//in implemetation file 
-(void)basicAuthentication{ 
    . 
    . 
    NSURL *url = [NSURL URLWithString:authenticationUrl]; 

     NSMutableString *loginString = (NSMutableString*)[@"" stringByAppendingFormat:@"%@:%@", @"username",@"password"]; 

     NSString *authHeader = [@"Basic " stringByAppendingFormat:@"%@", loginString]; 

     NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; 
     [request setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData]; 
     [request setURL:url]; 
     [request setHTTPMethod:@"GET"]; 
     [request addValue:authHeader forHTTPHeaderField:@"Authorization"]; 

     NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 
    myData = [[NSMutableData data] retain]; 

    } 

    //Delegate method called when the connection receives data 
    /* 
    * Callback, called when ever there is more response data read 
    */ 
    -(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
    { 
     [myData appendData:data]; 
    } 

    //in .h file 
    @interface TestConnectionManager : NSObject <UIAlertViewDelegate,NSURLConnectionDelegate>{ 
     id <TestConnectionManagerDelegate>delegate; 
     NSMutableData *myData; 
    . 
    . 
    . 
    } 

답변

0

내가 유사한 문제에 대한 근처에 직면하고 내가 제안하기 위하여려고하고있다 임시 방편을 얻었다. 그러나 이것이 귀하의 경우에 얼마나 도움이되는지 확신 할 수 없습니다.

나는 didReceiveData 방법으로받은 데이터의 로그 메시지를 남겼다. 받은 데이터를 넣을 수 없다면 데이터 길이의 로그를 취할 수 있습니다.

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
{ 
    NSLog(@"data:%d",[data length]); 
    [myData appendData:data]; 
    NSLog(@"myData:%d",[myData length]); 
} 
관련 문제