UIWebView не загружает ссылки с сертификатом (префикс https: //)

Я знаю, что об этом спрашивали раньше, но я просмотрел все ответы (их немного), и никто мне не помог.

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

Электронная почта основной школы: https://marauder.millersville.edu/mail/index.pl < / а>

Электронная почта по информатике: https://cs.millersville.edu/cswebmail

Портал студента университета (кнопка Marauder Mail справа не открывается при нажатии в моем UIWebView)
http://myville.millersville.edu/

Сначала ни один из веб-сайтов не загружался в мой UIWebView с использованием стандартных NSURL и NSURLRequest. Я поискал в Интернете решение, и кто-то предложил использовать методы делегата NSURLProtocolClient. После их реализации мой UIWebView теперь будет загружать электронную почту школы ТОЛЬКО, когда у меня есть кнопка, которая при нажатии открывает ссылку напрямую, в отличие от попытки получить доступ к почте с сайта портала (3-я ссылка выше), и она все еще никогда не загружает ссылку на электронную почту по информатике. Я просмотрел справочные сайты iOS, разместил вопросы, попробовал несколько пользовательских UIWebView с открытым исходным кодом, но не нашел ничего, что работает.

Большинство ответов, которые я прочитал в Интернете, указывают на ASIHTTPRequest. Я пробовал это, но не могу реализовать это правильно, он не загружает ссылки в моем UIWebView; вот мой код того, как я загружаю ссылку:

mURL = [self getURL:viewNumber];
ASIHTTPRequest *req = [ASIHTTPRequest requestWithURL:mURL];
[req setDelegate:self];
[req startSynchronous];

//NSURLRequest *req = [NSURLRequest requestWithURL:mURL];
//urlConnection=[[NSURLConnection alloc] initWithRequest:req delegate:self];
webView.scalesPageToFit = YES;
//[webView loadRequest:req];

Код в комментариях - это то, как я загружаю ссылку без ASIHTTPRequest.

Любая помощь приветствуется!

Кроме того, у меня есть еще одна проблема с моим UIWebView, ссылка ниже. У меня нет ответов, поэтому, если вам скучно, проверьте это: UIWebView не обнаруживает текстовое поле на веб-сайте


person RyanG    schedule 25.03.2011    source источник


Ответы (2)


Исправлена ​​моя проблема, я смог без проблем загрузить https со следующим кодом, я не думал, что это сработает, но это работает !:

NSURLRequest *req = [NSURLRequest requestWithURL:mURL];
urlConnection=[[NSURLConnection alloc] initWithRequest:req delegate:self];
webView.scalesPageToFit = YES;
[webView loadRequest:req];
person RyanG    schedule 19.04.2011
comment
Это довольно плохое решение. Вы в основном загружаете страницы дважды. Один раз с ASIHTTPRequest и один раз с UIWebView. - person Stefan Arentz; 15.03.2012
comment
Двойная загрузка страниц - это на самом деле единственный способ загрузить HTTPS в более поздних версиях iOS. Это волосатый беспорядок. - person Erik Reppen; 28.01.2016

Веб-представление не загружает URL-адреса https из-за несоответствия сертификата. После написания этого расширения оно будет работать должным образом.

Swift 2.2

  extension NSURLRequest {
        static func allowsAnyHTTPSCertificateForHost(host: String) -> Bool
        {
            return true
        }
    }
person TEJAS PATELIA    schedule 23.05.2016