iOS 개발 AFNetworking 프레임워크
AFN 네트워크 요청 및 파일 업로드 다운로드
AFN 프레임워크를 사용하여 네트워크 데이터 요청을 처리하다가 다음 오류가 발생했습니다.
// , 
// self.requestSerializer =[AFHTTPRequestSerializer serializer];
//AFHTTPRequestSerializer    ( )
//AFJSONRequestSerializer JSON
// AFPropertyListRequestSerializerPList
 // ( JSON)
// self.responseSerializer =[AFJSONResponseSerializerserializer];
// AFHTTPResponseSerializer   
// AFJSONResponseSerializer JSON ( )
//AFXMLParserResponseSerializer XML 
//AFImageResponseSerializer Image
// ( , SDWebImage)
서버 측에서 작업을 제대로 하지 않아 발생한 오류와 처리 방법에 대해 설명합니다.
해결 방법 1: 바로 AFHTTPResponseSerializer로 갑니다.m 파일에서 acceptableContentTypes 속성 init 방법을 찾아 텍스트/html를 직접 추가합니다
// AFN 
- (instancetype)init {
    self = [super init];
    if (!self) {
        return nil;
    }
    // @"text/html"  , unlock 
    self.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript", nil];
    return self;
}
해결 방법 2: 코드에서 AFN에서 사용하는 방법으로 acceptable ContentTypes 속성의 값을 수정하는 것입니다.
// mgr
AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
    // , new  , 
mgr.responseSerializer = [AFJSONResponseSerializer new];
mgr.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript", @"text/html", nil];
AFN 쿠키 사용
    // cookie  
    NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage]cookiesForURL:[NSURL URLWithString:url]];  
    for (NSHTTPCookie *tempCookie in cookies)  
            {  
                // cookies  
                NSLog(@"getCookie:%@",tempCookie);  
            }  
    NSDictionary *Request = [NSHTTPCookie requestHeaderFieldsWithCookies:cookies];  
     // cookie
    [[NSUserDefaults standardUserDefaults] setObject:[Request objectForKey:@"Cookie"] forKey:@"mUserDefaultsCookie"];  
    [[NSUserDefaults standardUserDefaults] synchronize];  
// cookie
    [session.requestSerializer setValue:[[NSUserDefaults standardUserDefaults]objectForKey:@"mUserDefaultsCookie"]forHTTPHeaderField:@"Cookie"];  
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.