web-dev-qa-db-ja.com

iOSでHTTPResponse / HTTPRequestステータスコードを取得しますか?

IPhoneアプリでHTTPステータスコードを確認して評価する必要があります。サイトに正常に接続するNSURLRequestオブジェクトとNSURLConnectionがあります。

// create the request
NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.Apple.com/"]
                        cachePolicy:NSURLRequestUseProtocolCachePolicy
                    timeoutInterval:60.0];
// create the connection with the request
// and start loading the data
NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if (theConnection) {
    // Create the NSMutableData that will hold
    // the received data
    // receivedData is declared as a method instance elsewhere
    receivedData=[[NSMutableData data] retain];
} else {
    // inform the user that the download could not be made
}

私はこのコードをここに取得しました: https://web.archive.org/web/20100908130503/http://developer.Apple.com/iphone/library/documentation/Cocoa/Conceptual/URLLoadingSystem/Tasks/UsingNSURLConnection。 html

しかし、(私が見る限り)HTTPステータスコードへのアクセスについては何も述べていません。

サイトに接続して、その接続のHTTPステータスコードを確認するにはどうすればよいですか?

28
cmcculloh

これが私のやり方です:

    #pragma mark -
    #pragma mark NSURLConnection Delegate Methods
    - (void)connection:(NSURLConnection*)connection didReceiveResponse:(NSURLResponse*)response {
         NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response;
         int responseStatusCode = [httpResponse statusCode];
    }

しかし、私は非同期NSURLConnectionを使用しているので、これは役に立たないかもしれません。しかし、とにかくうまくいくことを願っています!

76
Rob