2011-10-06 2 views
1

Я пытаюсь получить доступ к защищенному URL из ios. В основном URL-адрес подскажет пользователю имя пользователя и пароль. Как я могу отправить имя пользователя и пароль из ios?Как получить доступ к защищенному URL из ios

Мой код Вот методы, которые я использую, чтобы получить доступ к JSON PARSER

- (NSString *)stringWithUrl:(NSURL *)url{ 
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url 
              cachePolicy:NSURLRequestReturnCacheDataElseLoad 
             timeoutInterval:30]; 
// Fetch the JSON response 
NSData *urlData; 
NSURLResponse *response; 
NSError *error; 

// Make synchronous request 
urlData = [NSURLConnection sendSynchronousRequest:urlRequest 
           returningResponse:&response 
              error:&error]; 

// Construct a String around the Data from the response 
return [[[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding] autorelease];} 


- (id) objectWithUrl:(NSURL *)url{ 
SBJsonParser *jsonParser = [[[SBJsonParser alloc]init] autorelease]; 
NSString *jsonString = [self stringWithUrl:url]; 

// Parse the JSON into an Object 
return [jsonParser objectWithString:jsonString error:nil]; } 

Вот кусок кода, который я извлечения ключей JSon в моем словаре.

- (NSDictionary *) downloadFeed { 
id response = [self objectWithUrl:[NSURL URLWithString:@"http://mysite.com/Services/Secure.svc/GetList?id=2127"]]; 

NSDictionary *feed = (NSDictionary *)response; 
return feed; } 

Может кто-нибудь сообщить мне, где я могу передать Имя пользователя и пароль этому URL-адресу?

+0

Подскажите, в каком смысле? Форма входа на веб-сайт или [базовая проверка подлинности HTTP] (http://en.wikipedia.org/wiki/Basic_access_authentication)? – Alex

+0

Базовая проверка подлинности HTTP, я обновил свой код, чтобы получить более четкое изображение! – HardCode

+0

Поместите его здесь: 'http: // user: [email protected]/...' –

ответ

3

. Перейдите на ASIHTTPRequest, который просто управляет простой аутентификацией или использует NSMutableRequest и правильно настроит заголовок авторизации с паролем пользователя с паролем base64.

+0

+1 для ASIHTTPRequest, очень удобная и лицензия на стиль BSD. – jbat100

+0

Я использую ASIHTTPRequest для моего контроллера входа. Но я пользуюсь JSON Parser после входа в систему. Считаете ли вы, что использование учетных данных на URL-адресе недостаточно безопасно? Хорошо, я буду использовать HTTPS для распространения! – HardCode

+0

Где я могу назначить имя пользователя и пароль здесь? NSURL * url = [NSURL URLWithString: @ "http: // @ http: //mysite.com/Services/Secure.svc/GetList? Id = 2127"]; ASIFormDataRequest * request = [ASIFormDataRequest requestWithURL: url]; [запрос setRequestMethod: @ "GET"]; – HardCode

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