4

Скажем, у меня есть многотомные/form-данные, построенные нижеAFNetworking запрос журнала тело многочастных/форм-данных

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
    NSDictionary *parameters = @{@"foo": @"bar"}; 
    NSURL *filePath = [NSURL fileURLWithPath:@"file://path/to/image.png"]; 
    [manager POST:@"http://example.com/resources.json" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { 
     [formData appendPartWithFileURL:filePath name:@"image" error:nil]; 
    } success:^(AFHTTPRequestOperation *operation, id responseObject) { 
     NSLog(@"Success: %@", responseObject); 
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
     NSLog(@"Error: %@", error); 
    }]; 

Вот какие журналы AFNetworkActivityLogger. Тело (null).

POST 'http://example.com/resources.json': { 
    "Accept-Language" = "en;q=1, fr;q=0.9, de;q=0.8, zh-Hans;q=0.7, zh-Hant;q=0.6, ja;q=0.5"; 
    "Content-Length" = 206123; 
    "Content-Type" = "multipart/form-data; boundary=Boundary+A13DFC7B7D81B98A"; 
    "User-Agent" = "Example/0.2.3 (iPad Simulator; iOS 8.3; Scale/2.00)"; 
} (null) 

Как зарегистрировать тело запроса, отправленное в API?

ответ

0

AFNetworkActivityLogger не выводит тело запроса на множественную форму, поскольку запрос не имеет свойства HTTPBody, вместо этого он имеет HTTPBodyStream. Смотрите здесь:

https://github.com/AFNetworking/AFNetworkActivityLogger/blob/master/AFNetworkActivityLogger/AFNetworkActivityLogger.m#L120

Для того, чтобы исследовать тело запроса, выполните следующие действия:

Подписаться на уведомления: com.alamofire.networking.task.resume Получить запрос от уведомление: NSURLRequest * request = AFNetworkRequestFromNotification (уведомление); Прочитайте поток из запроса: [запрос HTTPBodyStream]