Ios AFN多部分/表单数据的网络日志请求主体

Ios AFN多部分/表单数据的网络日志请求主体,ios,objective-c,afnetworking,afnetworking-2,multipartform-data,Ios,Objective C,Afnetworking,Afnetworking 2,Multipartform Data,假设我有一个多部分/表单数据结构,如下所示 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; NSDictionary *parameters = @{@"foo": @"bar"}; NSURL *filePath = [NSURL fileURLWithPath:@"file://path/to/image.png"]; [manager POST:@"h

假设我有一个多部分/表单数据结构,如下所示

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);
    }];

如何记录发送到API的请求主体

AFNetworkActivityLogger不输出多部分表单请求的正文,因为该请求没有HTTPBody属性,而是具有HTTPBodyStream。请看这里:

要检查请求正文,请执行以下步骤:

订阅通知:com.alamofire.networking.task.resume 从通知获取请求:NSURLRequest*request=AFNetworkRequestFromNotification(通知); 从请求中读取流:[请求HTTPBodyStream]

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)