AFNetworking简单的HTTP请求

时间:2013-04-23 13:21:59

标签: objective-c xcode afnetworking

我在项目中使用AFNetworking,我只需要检查网址是否成功(状态2xx)。

我试过

NSURLRequest *request = [NSURLRequest requestWithURL:url2check];
AFJSONRequestOperation *operation = [AFJSONRequestOperation
    JSONRequestOperationWithRequest:request
    success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
        if (response.status == 200) {
            NSLog(@"Ok %@", JSON);
        }
    }
    failure:nil
];
[operation start];

但是因为我不是在等待JSON,所以我期待使用像

这样的东西
AFHTTPRequestOperation *operation = [AFHTTPRequestOperation
    HTTPRequestOperationWithRequest: success: failure:];

但这不存在(我不知道为什么),所以我用了

AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc]
    initWithRequest:request];
[operation setCompletionBlockWithSuccess:...]

不是更简单吗?

您如何使用AFNetworking进行这种简单的URL检查?

2 个答案:

答案 0 :(得分:2)

这是我最终的结果

NSURLRequest *request = [NSURLRequest requestWithURL:url2check];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc]
                                     initWithRequest:request];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation
                                           , id responseObject) {
        // code
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        // code
    }
];
[operation start];

随意添加更简单的方法。

答案 1 :(得分:0)

您可以使用基本URL实例化AFHTTPClient对象并在其上调用getPath:parameters:success:failure:

from the docs:

  

使用GET请求创建AFHTTPRequestOperation,并将其排入HTTP客户端的操作队列。