У меня очень раздражающая проблема, которую я пытаюсь решить.У меня есть приложение для iPhone, которое отправляет на сервер несколько форм данных.Серверная часть обрабатывает данные и отвечает PHP.При небольших объемах данных это нормально, но один из запросов довольно большой, и это не так хорошо.Запросы кажутся хорошо закодированными, с правильной длиной, даже установлен заголовок Content-Length.Тем не менее я получаю неполный (буквально отрубленный) результат в PHP.
Вот некоторый код:
NSString *requestString = [NSString stringWithFormat:@"json=%@", [params JSONFragment], nil];
NSLog(@"%@", requestString);
NSLog(@"%u", [requestString length]);
NSData *requestData = [requestString dataUsingEncoding:NSUTF8StringEncoding];
//NSData *requestData = [NSData dataWithBytes: [requestString UTF8String] length: strlen([requestString UTF8String])]; //[requestString UTF8String]
//NSData *requestData = [NSData dataWithBytes: requestString length: [requestString length]]; //[requestString UTF8String]
//NSData *requestData = [NSData dataWithBytes:[requestString UTF8String] length:[requestString lengthOfBytesUsingEncoding:NSUTF8StringEncoding]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL: [NSURL URLWithString: @"https://radarromance.com/api/index.php"]];
[request setHTTPMethod: @"POST"];
[request setHTTPBody: requestData];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];
[request setValue:[NSString stringWithFormat:@"%u", [requestString length], nil] forHTTPHeaderField:@"content-length"];
Считайте фактические данные правильно отформатированной строкой JSON с длиной>4000 знаков.Я провел крошечный тест, чтобы увидеть, имеет ли объект NSData правильную длину, и он имеет.Со стороны iPhone, я полагаю, все в порядке.
Однако сторона PHP показывает только часть запроса, поэтому она не завершена.Значение post_max_size составляет 16M, что должно быть достаточно.
Как это возможно?Что может быть не так?Любая помощь здесь с благодарностью!
С уважением,
Reinder