NSData dataWithContentsOfURL:options:error:服务器响应无效

时间:2013-08-07 19:00:28

标签: ios http cookies nsdata

我们通常使用以下方法成功加载来自我们服务器的JSON编码数据:

NSError* error;
NSData* data = [NSData dataWithContentsOfURL:[NSURL URLWithString:path] 
                                     options:NSDataReadingUncached
                                       error:&error];

(在后台线程上避免阻塞主线程。)但是,随着服务器负载的增加,我们最近看到一个无效但非错误(错误== nil)的服务器响应:

 <html><body><script>document.cookie='ggggggg=00268082ggggggg_00268082;
 path=/';window.location.href=window.location.href;</script></body></html>

重试通常会导致成功下载预期的JSON编码数据;问题似乎是服务器端。三个问题:

1)有没有人认识到这个服务器响应?

2)我们的服务器是否尝试创建cookie而不是返回我们的文件/数据!?

3)如果是这样,我们应该在哪里了解如何避免来自我们服务器的随机cookie响应?

1 个答案:

答案 0 :(得分:1)

根据留言板流量,我们能够确认问题可以通过各种方式(应用程序,浏览器或命令行)重现 - 这个问题与iOS或我们的应用程序代码无关。我们能够使用以下形式从命令行中偶尔重现问题:

curl -D - your-test-url-here -s

在我们的ISP进一步调查后,他们确定无效HTTP响应的最可能原因来自他们的DDoS攻击保护。重置受影响的服务器后,问题得以解决。