NSURLConnection GET请求返回-1005,"网络连接丢失"

Vik*_*esh 44 cocoa-touch ios

我试图NSURLConnection在iOS 8 SDK上的XCode 6(Beta7 2)中使用"代码1005,网络连接丢失" 进行简单的GET请求.当我尝试从Web 上获取http://www.google.com或其他一些示例页面时,调用失败,但如果我向localhost(python -m SimpleHTTPServer)上的简单HTTP服务器发出请求,则成功.我也尝试使用AFNetworking库(2.4.1) - 使用NSURLConnection失败的URL也会因库而失败.

这是我的代码 -

NSString * url = @"http://0.0.0.0:8000";
// NSString * url = @"http://www.google.com";

NSLog(@"URL : %@", url);

// Mutable is probably not required, but just in case it REALLY WANTS me to set HTTP method
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];
[theRequest setHTTPMethod:@"GET"];

NSURLResponse *urlResponse = nil;
NSError *error = nil;

NSData * data = [NSURLConnection sendSynchronousRequest:theRequest
                                      returningResponse:&urlResponse
                                error:&error];

if (error == nil) {
    NSString *response = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
    NSLog(response);
} else {
    NSString *response = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
    NSLog(@"%@", [error userInfo]);
}
Run Code Online (Sandbox Code Playgroud)

日志:

2014-09-11 17:34:23.950 SearchExample[5092:2074687] URL : http://www.google.com
2014-09-11 17:34:24.023 SearchExample[5092:2074687] {
    NSErrorFailingURLKey = "http://www.google.com";
    NSErrorFailingURLStringKey = "http://www.google.com";
    NSLocalizedDescription = "The network connection was lost.";
    NSUnderlyingError = "Error Domain=kCFErrorDomainCFNetwork Code=-1005 \"The network connection was lost.\" UserInfo=0x7fc8515640a0 {NSErrorFailingURLStringKey=http://www.google.com/, NSErrorFailingURLKey=http://www.google.com/, _kCFStreamErrorCodeKey=57, _kCFStreamErrorDomainKey=1, NSLocalizedDescription=The network connection was lost.}";
    "_kCFStreamErrorCodeKey" = 57;
    "_kCFStreamErrorDomainKey" = 1;
}
2014-09-11 17:34:24.023 SearchExample[5092:2074687] URLResponse: (null)
Run Code Online (Sandbox Code Playgroud)

Ben*_*n-G 92

我最近看到iPhone 6模拟器上的互联网连接失败,导致相同的错误.我的Mac有一个工作的互联网连接模拟器没有.重新启动模拟器修复了问题.

  • 事实上,这是正确的答案!我重新启动XCode,但不知何故从未想过重启模拟器.是的,重启模拟器后它可以正常工作!谢谢! (5认同)
  • 你有没有人提起这个问题?它仍然在Xcode 6.1和iPhone 6模拟器上发生. (5认同)

CMa*_*ash 10

我在iOS 9上通过某些网络调用持续得到此错误.两个工作正常,但另外两个没有.

事实证明,这是由于我正在通过请求的正文传递的一些不正确的参数...我不希望导致-1005错误...但它确实..摆脱不必要的参数使它全部工作!