ASIFormDataRequest为空的POST请求

我使用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]; 

然而,偶尔发生(非常随机地发生,很难重现)一个空的请求到达服务器,我使用相同的文件进行所有testing。 ASIHTTPRequest执行requestFinished,就像一切正常。

没有生成服务器端错误,我检查日志。

有没有人有过这个问题?

今天我有这个问题太早了。 这与nginx的行为有关,如何重用连接。 一个简单的解决办法就是将以下内容添加到您的请求过程中:

 [request setShouldAttemptPersistentConnection:NO]; 

这个选项在ASIHTTPRequest的最新版本中默认设置为NO。 在Github上阅读更多关于它的信息:

在POST / PUT上停止使用持久连接