iPhone 5 vs 5s的NSHTTPURLResponse不同

这是我见过的最奇怪的事情。 我有一个iPhone 5和iPhone 5s,都在iOS 7.1.2,完全干净。 我运行下面的代码:

NSString *userAgent = @"Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3"; NSURL *url = [NSURL URLWithString: deviceString]; NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:url]; [request setValue:userAgent forHTTPHeaderField:@"User-Agent"]; NSHTTPURLResponse *response = nil; NSError *error = nil; NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; NSDictionary *dict = [response allHeaderFields]; NSLog(@"Status code: %d",[response statusCode]); NSLog(@"Headers:\n %@",dict.description); NSLog(@"Error: %@",error.description); NSLog(@"Response data: %@",[[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]); 

iPhone 5s返回我正在寻找的正确页面源,以及我从模拟器获得的相同页面源。 标题看起来像这样:

 "Alternate-Protocol" = "80:quic"; "Cache-Control" = "no-cache"; "Content-Encoding" = gzip; "Content-Length" = 5627; "Content-Type" = "text/plain; charset=utf-8"; Date = "Fri, 01 Aug 2014 17:21:40 GMT"; Expires = "Tue, 27 Apr 1971 19:44:06 EST"; P3P = "CP=\"This is not a P3P policy! See http://support.google.com/accounts/bin/answer.py?answer=151657&hl=en for more info.\""; Server = "gwiseguy/2.0"; "Set-Cookie" = "YSC=oohlyqgkgwg; path=/; domain=.youtube.com; httponly"; "X-Content-Type-Options" = nosniff; "X-Frame-Options" = SAMEORIGIN; "X-XSS-Protection" = "1; mode=block; report=https://www.google.com/appserve/security-bugs/log/youtube"; 

iPhone 5返回一些不同的内容,并且从Content-Length头部可以看到显着缩短:

 "Alternate-Protocol" = "80:quic"; "Cache-Control" = "no-cache"; "Content-Length" = 767; "Content-Type" = "text/html; charset=utf-8"; Date = "Fri, 01 Aug 2014 17:23:06 GMT"; Expires = "Tue, 27 Apr 1971 19:44:06 EST"; P3P = "CP=\"This is not a P3P policy! See http://support.google.com/accounts/bin/answer.py?answer=151657&hl=en for more info.\""; Server = "gwiseguy/2.0"; "Set-Cookie" = "YSC=2KFSqyO4p1k; path=/; domain=.youtube.com; httponly"; "X-Content-Type-Options" = nosniff; "X-Frame-Options" = SAMEORIGIN; "X-XSS-Protection" = "1; mode=block; report=https://www.google.com/appserve/security-bugs/log/youtube"; 

我很困惑。

编辑:

我现在发现了一个正常工作的iPhone 5和一个不是iPhone 5s的! 我们正在同一个WiFinetworking上进行testing,但电话分成AT&T和Verizon服务。 1 Verizon正在工作,其他人没有。 所有AT&T都在工作。

更新:

我已经解决了这个问题。 现在,我需要一些帮助,了解我做了什么:/我注意到头之间的区别是行"Content-Encoding" = gzip所以我在我的代码中设置此行:

  [request setValue:@"gzip" forHTTPHeaderField:@"Content-Encoding"]; 

现在请求按预期工作,但为什么我需要这样做呢? 我还没有过去,这不是一个新的function。

我注意到标题之间的差异是行“内容编码”= gzip所以我在我的代码中设置此行:

  [request setValue:@"gzip" forHTTPHeaderField:@"Content-Encoding"]; 

现在请求按预期工作。