2010-06-14 3 views
0

Я использую синхронный запрос и передаю учетные данные, но я получаю ошибку аутентификации в ответ. Ниже приведен мой код запроса и ответа от сервера.NSURLCredential не работает для запроса синхронных запросов в iphone

Запрос: -

NSURLCredential *userCredentials = [NSURLCredential credentialWithUser:@"username" 
                   password:@"paswd" 
                  persistence:NSURLCredentialPersistenceForSession]; 

NSURLProtectionSpace *space = [[NSURLProtectionSpace alloc] initWithHost:@"http://webaddress.inc.com" 
                    port:80 
                   protocol:@"http" 
                    realm:@"webaddress.inc.com" 
                authenticationMethod:nil]; 

[[NSURLCredentialStorage sharedCredentialStorage] setCredential:userCredentials 
              forProtectionSpace:space]; 

NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://webaddress.inc.com"] 
                  cachePolicy:NSURLCacheStorageNotAllowed 
                 timeoutInterval:30]; 


NSURLResponse *response; 
NSError *error; 

NSData *returnData = [NSURLConnection sendSynchronousRequest:urlRequest 
              returningResponse:&response 
                 error:&error]; 

/////////// Response

401 Требуется авторизация


Примечание: Если я посылающий запрос с запросом async работает нормально, так как в этом случае didReceiveAuthenticationChal lenge дает им требуемые полномочия, когда их просят.

Уверен, что в моем коде может быть что-то отсутствует.

Ожидание ваших ценных затрат.

+0

Привет, я знаю, что вы задали этот вопрос некоторое время назад, но не возражаете ли вы показать нам асинхронный запрос, который был успешным? – Imirak

+0

Для запроса aync вы получаете соединение обратного вызова - (void): (NSURLConnection *) connection didReceiveAuthenticationChallenge: (NSURLAuthenticationChallenge *). Вы можете поставить свой код там – Ekra

ответ

0

Вы когда-нибудь пробовали ASIHTTPRequest, который облегчает работу с http в среде IPhone. И у него действительно простая и хорошая документация. Раньше я использовал его в своих проектах, он работал потрясающе.

+0

кажется, что он не работает на OS4 Так что в настоящее время я не могу это сделать в своем проекте – Ekra

+0

К сожалению, я не смогу вам помочь в OS4 – fyasar