UIWebView 从加载的页面获取 http 状态代码

UIWebView get http status code from loaded page

我在游戏中使用 UIWebView 来显示客户支持表格。我注意到如果服务器 return 出现 503 错误(从负载均衡器发送的 http 状态代码)

,我无法关闭 webview

有没有办法轻松获取此 http 状态?我可以做一些设置以便在 http 状态代码不是 200 时调用 didFailWithError 吗?

加载代码

UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.frame];

NSURL *nsURL = [NSURL URLWithString:url];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:nsURL];

webView.opaque = YES;

webView.userInteractionEnabled = YES;

[webView loadRequest:request];

webView.delegate = self;

closableWebViewController = [[UIViewController alloc] init];

[closableWebViewController.view setFrame:self.view.frame];

[closableWebViewController.view addSubview:webView];

[self presentViewController:closableWebViewController animated:YES completion:nil];

未调用此委托方法

-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
 NSLog(@"webview error %@",error);

 if (closableWebViewController)
 {
    NSLog(@"closing webview");
    [closableWebViewController dismissViewControllerAnimated:TRUE completion:^{
        closableWebViewController = nil;
        NSLog(@"webView closed");
    }];

 }
}

您无法轻易做到这一点,但这里有一个很好的技巧,在此处有详细记录: