【问题标题】:AFHTTPRequestOperationManager POST request fails with network connection was lost (-1005)AFHTTPRequestOperationManager POST 请求失败,网络连接丢失 (-1005)
【发布时间】:2013-12-10 20:18:28
【问题描述】:

我的服务器端是谷歌计算引擎,使用 DJango 服务作为 API

这是我在 xcode IOS 6.1 中运行的代码

static NSString *const BaseURLString = @"http://myUrl/";

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager POST:BaseURLString
   parameters:[self getParameters]
      success:^(AFHTTPRequestOperation *operation, id responseObject) {
          NSArray *returnedData = (NSArray *)responseObject;
          [self doSomething:returnedData];
      }
      failure:^(AFHTTPRequestOperation *operation, NSError *error) {
          UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"Error Retrieving Properties" message:[NSString stringWithFormat:@"%@", error] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
          [av show];
      }];

它总是以Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." 失败,但是当我使用curl -datacurl --data "param1=1&param2=3" http://myUrl/ 从终端调用服务时,它运行良好

【问题讨论】:

  • 如何解决这个问题?
  • @kirtimali 我还是不知道,也许如果你给问题加上+1,有人会决定回答它。
  • 我也有同样的问题,一个特定的请求失败了,其余的都失败了

标签: ios objective-c django http-post


【解决方案1】:

试试这个:

   NSURL *url = [NSURL URLWithString:BaseURLString];

而不是

   [manager POST:BaseURLString parameters:[self getParameters]
  success:^(AFHTTPRequestOperation *operation, id responseObject) {
      NSArray *returnedData = (NSArray *)responseObject;
      [self doSomething:returnedData];

使用

   [manager POST:url parameters:[self getParameters]
  success:^(AFHTTPRequestOperation *operation, id responseObject) {
      NSArray *returnedData = (NSArray *)responseObject;
      [self doSomething:returnedData];

【讨论】:

    猜你喜欢
    • 2014-11-05
    • 2015-12-27
    • 2014-09-03
    • 2016-02-22
    • 2015-07-27
    • 2017-11-06
    • 2019-10-12
    • 2023-03-10
    • 2016-02-27
    相关资源
    最近更新 更多