Заголовок NSHTTPURLRequest - PullRequest
       11

Заголовок NSHTTPURLRequest

0 голосов
/ 29 июня 2010

Я хотел бы получить некоторую информацию с веб-сайта.Я уже получил HTML-код сайта.Тем не менее, я хотел бы получить дополнительную информацию о заголовке веб-сайта (например, код состояния http)

После прочтения библиотеки Apple я обнаружил, что есть 2 способа, которые могут отображать эту информацию.Тем не менее, я могу использовать только один из методов (есть предупреждение), другой не может быть использован.

Ниже приведен код.

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);

Кроме того, есть ли другие методы дляполучить заголовок informatino?

Большое спасибо.

Ответы [ 2 ]

3 голосов
/ 29 июня 2010

Вы получаете предупреждение, потому что NSInteger является оболочкой для int.Таким образом, вам не нужен указатель *.Измените левую сторону задания на NSInteger responseStatusCode и посмотрите, исчезнет ли предупреждение.

1 голос
/ 29 июня 2010

Спасибо за ваш ответ.

Однако есть некоторые предупреждения.

Ниже приведен код

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методы неправильны и не могут работать.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...