2

在用户输入正确的登录名和密码后,我需要检测 HTTP 代码 302,我正在使用这种方法:

- (void) connection:(NSURLConnection *)connection
 didReceiveResponse:(NSURLResponse *)response
{
    NSLog(@"connection:didReceiveResponse");

    if ([response isKindOfClass:[NSHTTPURLResponse class]]) {

        NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;

        int status = [httpResponse statusCode];

        if (status == 302) {

            //do something here
        }

        else
        {

            NSLog(@"http status code: %d", status);
        }

        [connection cancel]; 

    }

}

但是我只能在页面重定向后获得状态码 200,请问有什么想法吗?

谢谢!

4

1 回答 1

1

如果您正在使用,UIWebView那么您需要检查委托方法中的错误代码,而UIWebViewDelegate不是didReceiveResponseNSURLConnectionDelegate

这是您可以检查错误代码的确切方法..

-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{
    if (error.code == ERROR_YOU_WANT_TO_CHECK {
       //do what you want to do here 
     }
}

编辑

如果您正在使用,NSURLConnection那么回答这个问题可能会对您的事业有所帮助

于 2013-02-26T16:06:17.260 回答