AFHTTPRequestOperationManager的POST请求失败,提示网络连接丢失(-1005)。

5

我的服务器端是谷歌计算引擎,使用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 "网络连接丢失." 但是当我使用终端调用服务 curl -datacurl --data "param1=1&param2=3" http://myUrl/ 时,它可以完美地工作。


如何解决这个问题? - kirti Chavda
@kirtimali 我仍然不知道,也许如果你在问题上加上 +1,会有人决定回答它。 - liv a
我有同样的问题,它在一个特定的请求中失败,但其他请求没有问题。 - phil88530
1个回答

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];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接