0

Web サイトから情報を取得したいと考えています。私はすでにウェブサイトの HTML コードを取得しています。ただし、Web サイトのヘッダー情報 (http ステータス コードなど) をもっと取得したい

アップルライブラリを読んだ後、それらの情報を表示できる方法が2つあることがわかりました。ただし、メソッドの 1 つしか使用できず (警告があります)、別のメソッドは使用できません。

以下はコードです。

NSHTTPURLResponse *response = nil;
NSError *error = nil;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

NSString *data=[[NSString alloc]initWithData:responseData encoding:NSUTF8StringEncoding];

NSDictionary *responseAlllHeaderFields = [response allHeaderFields];
// how can I convent the NSDictionary to the NSString, I cannot use the NSLog to display the information
NSLog(responseAlllHeaderFields); // <-- wrong

// returns the HTTP status code for the response
NSInteger *responseStatusCode = [response statusCode];
// warning: initialization makes pointer from integer without a cast
NSLog(@"\nThe status code is %d\n", responseStatusCode);

また、ヘッダー情報を取得する他の方法はありますか?

どうもありがとうございました。

4

2 に答える 2

3

NSInteger は のラッパーであるため、警告が表示されintます。したがって、ポインタは必要ありません*。割り当ての左側を just に変更しNSInteger responseStatusCode、警告が消えるかどうかを確認します。

于 2010-06-29T02:15:39.330 に答える
1

お返事ありがとうございます。

ただし、いくつかの警告があります。

以下はコードです

NSInteger *responseStatusCode = [[response statusCode] intValue];
NSLog(@"\nThe status code is %d\n", responseStatusCode);

NSInteger *responseStatusCode = [response statusCode];
[responseStatusCode intValue];
NSLog(@"\nThe status code is %d\n", responseStatusCode);

NSInteger *responseStatusCode = [response statusCode];
NSLog(@"\nThe status code is %d\n", [responseStatusCode intValue]);

上記の 3 つの方法が間違っていて、うまくいかない理由がわかりません。

ありがとうございました。

于 2010-06-29T02:23:03.697 に答える