Øys*_*sen 4 iphone http asihttprequest ios xcode4
我刚刚开始在iOs上使用ASIHTTPRequest,我遇到了一个小问题.所有请求都被发送两次到服务器,即使我只从库中获得一个回复给我的委托方法.
同步和异步请求都有此问题.我使用Xcode 4和ARC,但是通过添加-fno-objc-arc作为编译器标志来禁用ASIHTTPRequest.
有什么想法错了..?
码:
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request startSynchronous];
NSError *error = [request error];
if (!error) {
}
Run Code Online (Sandbox Code Playgroud)
Hei*_*erg 15
这也困扰了我.我正在使用GET请求来验证服务器上的多用途凭证代码.当我们为兑换代码添加了一个速率限制时,一些客户报告说它们应该达到限制之前.事实证明,一些验证引发了两次赎回.
您的请求正在使用GET方法.
使用GET时的默认行为是允许持久连接(Keep-Alive HTTP标头).
当使用持久连接时,如果网络上的某些内容看起来很糟糕(这是技术术语)而不是请求失败,则可能会重新传输GET请求.这通常是可取的,因为GET请求通常不会对服务器产生任何副作用.
另一方面,POST或PUT请求默认不使用持久连接,并且不会重新传输您的操作,这可能是购买信用卡或其他具有重大副作用的操作.
如果您希望阻止ASIHTTPRequest GET有时发送2个或更多服务器请求(由于您的控制之外的网络问题),您只需设置此标志:
request.shouldAttemptPersistentConnection = NO;
Run Code Online (Sandbox Code Playgroud)
这应该处理服务器上的虚假GET重复项.
| 归档时间: |
|
| 查看次数: |
2769 次 |
| 最近记录: |