2010-07-05 3 views
2

Я хочу спросить о задаче C задачи приложения iPhone.Код статуса HTTP = 0 (iPhone) (цель c)

Я написал программу для хранения файлов cookie и перешел на другой URL-адрес для получения файлов cookie. Однако я обнаружил, что один из кодов статуса возврата равен 0. Содержимое html пусто.

Может ли кто-нибудь мне помочь? Ниже приведен мой код.

// create a new mutable url 
NSMutableURLRequest *request_get2 = [[[NSMutableURLRequest alloc] init] autorelease]; 
    [request_get2 setURL:[NSURL URLWithString:@"http://www.example.com"]]; 
[request_get2 setHTTPMethod:@"GET"]; 
[request_get2 setValue:@"text/html; charset=UTF-8" forHTTPHeaderField:@"Content-Type"]; 
[request_get2 setValue:@"http://www.example.com" forHTTPHeaderField:@"Referer"]; 
[request_get2 setHTTPShouldHandleCookies:YES]; 
     // cookiesString is a string, the format is "cookieName=cookieValue;" 
[request_get2 setValue: (NSString *) cookiesString forHTTPHeaderField:@"Cookie"]; 

// doGet - response 
NSHTTPURLResponse *response_get2 = nil; 
NSError *error_get2 = nil; 
NSData *responseData_get2 = [NSURLConnection sendSynchronousRequest:request_get2 returningResponse:&response_get2 error:&error_get2]; 
NSString *data_get2 = [[NSString alloc]initWithData:responseData_get2 encoding:NSUTF8StringEncoding]; 


NSString *responseURL_get2 = [[response_get2 URL] absoluteString];   // null value 
NSString *responseTextEncodingName_get2 = [response_get2 textEncodingName]; // null value 
NSString *responseMIMEType_get2 = [response_get2 MIMEType];     // null value 
NSUInteger *responseStatusCode_get2 = [response_get2 statusCode]; //[responseStatusCode intValue]; // the status code is 0 

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

ответ

3

Если вы получаете 0 для кода ответа, ответ response_get2 вероятно, никогда не был инициализирован, который может указывать на проблемы с запросом, не связанной с веб-сервера.

Вы устанавливаете error_get2, поэтому проверьте его значение после того, как запрос помещается:

if (!error_get2) { 
    NSString *responseURL_get2 = [[response_get2 URL] absoluteString];   // null value 
    NSString *responseTextEncodingName_get2 = [response_get2 textEncodingName]; // null value 
    NSString *responseMIMEType_get2 = [response_get2 MIMEType];     // null value 
    NSUInteger *responseStatusCode_get2 = [response_get2 statusCode]; //[responseStatusCode intValue]; // the status code is 0 
} 
else { 
    NSLog(@"something went wrong: %@", [error_get2 userInfo]); 
} 
+0

спасибо за ваш ответ. Ты прав. не могли бы вы увидеть мою ошибку в следующем сообщении. – Questions

+0

Привет, alex, извините, что снова вас нашли, не могли бы вы ответить на мой ответ, я действительно нуждаюсь в помощи. Спасибо. – Questions

Смежные вопросы