错误:错误域=NSURLErrorDomain 代码=-1001 “请求超时。”

Posted

技术标签:

【中文标题】错误:错误域=NSURLErrorDomain 代码=-1001 “请求超时。”【英文标题】:Error: Error Domain=NSURLErrorDomain Code=-1001 “The request timed out.” 【发布时间】:2016-07-06 04:50:20 【问题描述】:

我正在开发 Xcode 6.1、ios 8.1 中的应用程序;该应用程序在 2 天前运行良好,但今天我执行它时,我在 Web 服务中遇到了错误,并且错误打印在下面。

Error: Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo=0x7c6899b0 NSErrorFailingURLStringKey=<URL>, NSErrorFailingURLKey=<URL>, NSLocalizedDescription=The request timed out., NSUnderlyingError=0x7c688f60 "The request timed out."

我曾使用 AFNetworking 2.x 和以下代码 sn-p 进行网络调用:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
manager.responseSerializer.acceptableContentTypes=[manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];

[manager POST:<URL>
   parameters:<parameters>
      success:^(AFHTTPRequestOperation *operation, id responseObject) 

          NSLog(@"JSON: %@", responseObject);
          NSError *error = nil;
          NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingAllowFragments error:&error];
          if (error) 
              NSLog(@"Error serializing %@", error);
          
          NSLog(@"Dictionary %@", JSON);
          NSLog(@"Success");
      
      failure:^(AFHTTPRequestOperation *operation, NSError *error) 
          NSLog(@"Error: %@", error);
      ]; 

【问题讨论】:

这就是网络和服务器访问有时会发生的事情。您的代码设计必须处理网络故障或服务器故障或速度可能非常慢等的可能性。 【参考方案1】:

您可以设置请求的时间间隔

[manager.requestSerializer setTimeoutInterval:100];

【讨论】:

afnetwork 的默认超时时间是 60 秒,如果 60 秒后超时,如何将其更改为 10 来解决问题?【参考方案2】:

您可以设置请求的时间间隔

[manager.requestSerializer setTimeoutInterval:150];

如果服务器在时间间隔 60 秒后给出响应。那么它是有用的。

【讨论】:

嘿,这是一个想法,为什么不将超时设置为 5 小时?那一定会起作用的,不是吗?

以上是关于错误:错误域=NSURLErrorDomain 代码=-1001 “请求超时。”的主要内容,如果未能解决你的问题,请参考以下文章

错误:错误域=NSURLErrorDomain 代码=-1001 “请求超时。”

错误:错误域=NSURLErrorDomain 代码=-1001“请求超时。”

API 失败,错误域=NSURLErrorDomain 代码=-1003

错误域= NSURLErrorDomain代码= -1005“网络连接丢失。”

Alamofire 蜂窝网络“错误域=NSURLErrorDomain 代码=-1009”

IOS:kCFErrorDomainCFNetwork 错误 -1002。错误域=NSURLErrorDomain 代码=-1002 “不支持的 URL”