リクエストで使用するNSURLConnection
とHead
、レスポンスにはexpectedContentLengthが含まれます。
リクエスト
NSMutableURLRequest * req = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png"]];
[req setHTTPMethod:@"Head"];
NSURLConnection * con = [[NSURLConnection alloc] initWithRequest:req
delegate:self];
[con start];
[con release];
デリゲート
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
NSLog(@"didReceiveResponse (%lld)", response.expectedContentLength);
}
負の可能性があることに注意してください。
#define NSURLResponseUnknownLength ((long long)-1)
の場合、オブジェクトをパラメータとしてNSURLSession
受け入れるタスク ファクトリ メソッドを使用します。NSURLRequest
- (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request completionHandler:(void (^)(NSData *data, NSURLResponse *response, NSError *error))completionHandler: