ASIFormDataRequest пустой запрос POST - PullRequest
2 голосов
/ 14 мая 2011

Я использую ASIFormDataRequest для отправки многокомпонентных POST-данных на сервер, на котором выполняется nginx + php-fpm.

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:sessionKey forKey:@"session"];
[request setPostValue:secret forKey:@"secret"];
[request setPostValue:@"test" forKey:@"description"];
[request setFile:filePath forKey:@"image"]; 
[request setTimeOutSeconds:120];
[request setDelegate:self];
[request startAsynchronous];

Однако время от времени (происходит очень случайно, трудно воспроизвести) пустой запросдостигает сервера, я использую один и тот же файл для всех тестов.ASIHTTPRequest обрабатывает requestFinished, вроде все в порядке.

Нет ошибок на стороне сервера, я проверил журналы.

У кого-нибудь была эта проблема раньше?

1 Ответ

7 голосов
/ 14 мая 2011

У меня была эта проблема слишком рано сегодня.Это как-то связано с поведением nginx о том, как повторно использовать соединение.Простым решением является добавление следующего к вашей процедуре запроса:

[request setShouldAttemptPersistentConnection:NO];

Эта опция также была установлена ​​в NO по умолчанию в новейшей сборке ASIHTTPRequest.Узнайте больше об этом на Github:

Прекратите использовать постоянные соединения на POST / PUT

...