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デリゲート メソッド内でエラー コードを確認する必要があります。UIWebViewDelegatedidReceiveResponseNSURLConnectionDelegate

これは、エラーコードを確認できる正確な方法です..

-(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 に答える