首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >NSURLResponse -如何获取状态码?

NSURLResponse -如何获取状态码?
EN

Stack Overflow用户
提问于 2014-08-22 00:11:27
回答 2查看 61.1K关注 0票数 89

我有一个简单的NSURLRequest:

[NSURLConnection sendAsynchronousRequest:myRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
    // do stuff with response if status is 200
}];

如何获取状态代码以确保请求是正确的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-22 00:11:27

从响应中强制转换NSHTTPURLResponse的实例,并使用其statusCode方法。

[NSURLConnection sendAsynchronousRequest:myRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
    NSLog(@"response status code: %ld", (long)[httpResponse statusCode]);
    // do stuff
}];
票数 216
EN

Stack Overflow用户

发布于 2015-11-03 20:02:25

在iOS 9的Swift中,你可以这样做:

if let url = NSURL(string: requestUrl) {
    let request = NSMutableURLRequest(URL: url, cachePolicy: NSURLRequestCachePolicy.ReloadIgnoringLocalAndRemoteCacheData, timeoutInterval: 300)
    let config = NSURLSessionConfiguration.defaultSessionConfiguration()
    let session = NSURLSession(configuration: config)

    let task = session.dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in
        if let httpResponse = response as? NSHTTPURLResponse {
            print("Status code: (\(httpResponse.statusCode))")

            // do stuff.
        }
    })

    task.resume()
}
票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25431042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档