Запрос на отправку HTTPS в IOS

Я пытаюсь сделать запрос https post с помощью следующего кода.

NSURL *url = [NSURL URLWithString:@"https://portkey.formspring.me/login/"]; //initialize a request from url NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[url standardizedURL]]; //set http method [request setHTTPMethod:@"POST"]; //initialize a post data NSDictionary *postDict = [NSDictionary dictionaryWithObjectsAndKeys:@"username", @"username", @"password", @"password", nil]; NSError *error=nil; NSData* jsonData = [NSJSONSerialization dataWithJSONObject:postDict options:NSJSONWritingPrettyPrinted error:&error]; [request setValue:@"application/x-www-form-urlencoded; charset=utf-8" forHTTPHeaderField:@"Content-Type"]; //set post data of request [request setHTTPBody:jsonData]; //initialize a connection from request NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; //start the connection [connection start]; 

Но я получаю следующий ответ.

error Error Domain = NSURLErrorDomain Code = -1202 «Сертификат для этого сервера недействителен. Возможно, вы подключаетесь к серверу, который притворяется« portkey.formspring.me », который может поставить вашу конфиденциальную информацию под угрозу». UserInfo = 0x7564180 {NSLocalizedRecoverySuggestion = Хотелось бы подключиться к серверу в любом случае ?, NSErrorFailingURLKey = https://portkey.formspring.me/login/ , NSLocalizedDescription = Сертификат для этого сервера недействителен. Возможно, вы подключаетесь к серверу, который притворяется> «portkey.formspring.me», который может поставить под угрозу вашу конфиденциальную информацию. NSUnderlyingError = 0x7168a20 «Сертификат для этого сервера недействителен. Возможно, вы подключаетесь к серверу, который притворяется «portkey.formspring.me», который может поставить вашу конфиденциальную информацию под угрозу. », NSURLErrorFailingURLPeerTrustErrorKey =}

Может кто-нибудь сказать мне, как сделать почтовый запрос с помощью NSURLConnection?

Заранее спасибо.

2 Solutions collect form web for “Запрос на отправку HTTPS в IOS”

Сертификат для сайта, к которому вы пытаетесь подключиться, не доверен (попробуйте посетить ссылку, которую вы разместили в Chrome).

По умолчанию iOS не позволит вам подключиться к сайту, на котором представлен ненадежный сертификат. Вы можете обойти эту проверку, если это абсолютно необходимо – см. Этот вопрос: как использовать NSURLConnection для подключения к SSL для ненадежного сертификата?

Тем не менее, гораздо лучше, гораздо лучше, чтобы действительно исправить данный сертификат.

Эти методы делегатов NSURLConnection

 -(BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace -(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge -(void)connection:(NSURLConnection *)connection didCancelAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge 

Вы можете использовать -connection:willSendRequestForAuthenticationChallenge: вместо этих 3 устаревших методов

 -(void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge { if ([[challenge protectionSpace] authenticationMethod] == NSURLAuthenticationMethodServerTrust) { [[challenge sender] useCredential:[NSURLCredential credentialForTrust:[[challenge protectionSpace] serverTrust]] forAuthenticationChallenge:challenge]; } } 
Interesting Posts
PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.