2

我在我的项目中使用AFNetworking,我只需要检查一个 URL 是否成功(状态 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 检查?

4

2 回答 2

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

随意添加一个更简单的方法。

于 2013-04-24T07:16:46.217 回答
0

您只需使用基本 URL 实例化一个 AFHTTPClient 对象并调用getPath:parameters:success:failure:它。

来自文档:

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

于 2013-04-23T14:17:58.047 回答