2013年6月17日月曜日

WEBページを取得してHTTPステータスコードを確認する。

APIを利用したアプリ等を作成する場合に、「このAPIが使えたら使うけど、使えなかったらこっちを使いたい」という様な場合があるかと思います。

そんな時に、HTTPのステータスコードが確認できると便利ですね。
以下のコードで確認します。


// リクエスト初期化
NSMutableURLRequest *request = [NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"http://example.com/api.php"]];
[request setTimeoutInterval:15.0f];
[request setHTTPMethod:@"GET"];

// 実際のリクエスト
NSURLResponse *response;
NSError *error;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

// ステータスコード判別
int statusCode = [(NSHTTPURLResponse *)response statusCode];

// もしくは
// int statusCode = [[response valueForKey:@"statusCode"] intValue];

if(statusCode == 404)
{
    // エラー処理など
}

この様にします。
ステータスコードの取り方は上記の様に2パターンありますが、同じデータを指していますので、コーディングスタイルによって使い分けてください。

0 件のコメント:

コメントを投稿