Я работаю над проектом iPhone, которому нужно подключиться к серверу IIS по протоколу HTTPS или SSL. Может кто-нибудь сказать мне, как реализовать HTTPS-соединение в iPhone? Любой совет будет признателен.
Заранее спасибо.
Фреймворк ASIHTTPRequest Бена Копси позволяет легко отправлять веб-запросы через SSL.
ASIHTTPRequest
Немного изменив пример сайта:
NSURL *url = [NSURL URLWithString:@"https://allseeing-i.com"]; ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; [request startSynchronous]; NSError *error = [request error]; if (!error) { NSString *response = [request responseString]; NSLog (@"%@", response); }
У вас, вероятно, нет публичного сертификата. Можете ли вы получить доступ к ресурсу https с помощью firefox / safari / chrome без ошибок? если нет - это проблема, а не ваш код.
Джейсон, не забудьте реализовать соединение : canAuthenticateAgainsProtectionSpace и connection: didReceiveAuthenticationChallenge , чтобы убедиться, что вы обрабатываете вызовы для аутентификации сервера и аутентификации клиента:
проверить этот пост, который поможет вам в этом https://devforums.apple.com/message/143091#143091
Просто используйте NSURLConnection с NSURLRequest, указывающим на NUSUL с протоколом https, просто так:
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://mySecureServer.net"]]; NSURLResponse *response = nil; NSError *error = nil; NSData *result = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; if (!error) { //do something with response & data }
Но я предлагаю вам взглянуть на документацию системы загрузки URL в Какао.