UIWebView не будет загружать ссылки с сертификатом (префикс https: //) - PullRequest
5 голосов
/ 25 марта 2011

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

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

Электронный адрес основной школы: 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 не обнаруживает текстовое поле на сайте

Ответы [ 2 ]

2 голосов
/ 19 апреля 2011

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

NSURLRequest *req = [NSURLRequest requestWithURL:mURL];
urlConnection=[[NSURLConnection alloc] initWithRequest:req delegate:self];
webView.scalesPageToFit = YES;
[webView loadRequest:req];
0 голосов
/ 23 мая 2016

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

Swift 2.2

  extension NSURLRequest {
        static func allowsAnyHTTPSCertificateForHost(host: String) -> Bool
        {
            return true
        }
    }
...