2011-03-25 72 views
5

我知道這已被問過,但我已經看過每一個答案(沒有太多),沒有人幫助我。UIWebView不會加載帶有證書的鏈接(https://前綴)

我遇到的問題是用我學校的電子郵件服務處理證書。兩個電子郵件服務的鏈接在此:

主要學校電子郵件: https://marauder.millersville.edu/mail/index.pl

計算機科學電子郵件: https://cs.millersville.edu/cswebmail

大學學生門戶網站(右掠奪者郵件按鈕在我的UIWebView在單擊時沒有打開)
http://myville.millersville.edu/

起初,網站既沒有使用標準NSURL和的NSURLRequest在我的UIWebView將加載。我在網上查找了 以獲得解決方案,並且有人建議使用NSURLProtocolClient委託方法。在 實現它們之後,我的UIWebView現在只會在我有一個按鈕時加載學​​校郵件電子郵件,當點擊 直接打開鏈接,而不是嘗試從門戶站點訪問郵件(上面的第3個鏈接),以及它 仍然不會加載計算機科學電子郵件鏈接。我搜索了iOS幫助網站,發佈了問題,嘗試了 多個開源自定義UIWebViews,但我還沒有找到任何可行的方法。

大部分答案我已經讀過網絡指向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 doesn't detect text box on website

回答

2

解決了我的問題,我能夠加載https與沒有問題,下面的代碼我不認爲這會工作,但它確實如此::

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

這是一個非常糟糕的解決方案。你現在基本上加載了兩次頁面。一次使用'ASIHTTPRequest',一次使用'UIWebView'。 – 2012-03-15 14:02:18

+0

兩次加載頁面實際上是任何人似乎都能夠在更高版本的iOS中加載HTTPS的唯一方式。這是一團糟。 – 2016-01-28 16:56:49

0

由於證書不匹配,Web視圖不會加載https地址。寫這個擴展後,它會按預期工作

雨燕2.2

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