HTTP レスポンスのステータスコードを取得する : Objective-C プログラミング
PROGRAM
HTTP レスポンスのステータスコードを取得する
Objective-C では、NSURLConnection に NSURLRequest を渡して、指定した URL のデータを取得できるようになっています。
それによって得られたレスポンスのうち、レスポンスヘッダーに関する情報は connection:didreceiveResponse: メソッドが呼ばれたときに NSURLResponse 型の情報として受け取れます。
HTTP アクセスした場合は、ここで得られたレスポンスに 200 とか 404 といったステータスコードもちゃんと含まれているのですけど、それを取得するには少し工夫が要ります。
HTTP アクセスで取得できる NSURLResponse は、実際にはそこから派生した NSHTTPURLResponse 型で手に入っているので、次のような感じで、そこからステータスコードを取得します。
// 念のため、取得できたレスポンスが NSHTTPURLResponse であるかを調べます。
if ([self.response isKindOfClass:[NSHTTPURLResponse class]])
{
// NSHTTPURLResponse であれば、そこからステータスコードを取得できます。
NSInteger status = [(NSHTTPURLResponse*)response statusCode];
}
これで、レスポンスのステータスコードを取得することができました。
[ もどる ]