2016-11-16 83 views
0

我用這個代碼:的UIWebView + AFNetworking問題

webView.loadRequest(request!, progress: nil, success: { (responce, html) in 
      print("\n\n\nsuccess responce = ", html) 
      return html 
     }, failure: { (error) in 
      print("\n\n\nerror = ", error) 
     }) 

但我的服務器具有無效的SSL sertificate。所以我需要設置一個安全策略。之前,我做這樣的:

[AFHTTPRequestOperationManager manager].securityPolicy.allowInvalidCertificates = YES; 

但AFNetworking 3沒有AFHTTPRequestOperationManager類了。如何爲AFNetworking 3中的所有請求設置安全策略?

回答

2

AFNetworking 3當量的AFHTTPRequestOperationManagerAFHTTPSessionManager

所以,你應該利用這一點,在web視圖本身:

webView.sessionManager.securityPolicy.allowInvalidCertificates = YES; 

當然其他的解決方法是修復服務器上的無效證書。

+0

謝謝你,幫 –

0

你可以做,

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; 
manager.securityPolicy.allowInvalidCertificates = YES; 

參考:AFNetworking

+0

這不會起作用,因爲'[AFHTTPSessionManager經理]'創建未鏈接到網頁視圖的新經理。 – 0xced

+0

我剛剛給出了選項,而不是'AFHTTPRequestOperationManager',因爲'OP'要求'AFHTTPRequestOperationManager'在'AFNetwrking 3.0'中不可用! OP正在要求爲所有請求設置安全策略!所以他/她可以使用'AFHTTPSessionManager'作爲單身! – Lion

+0

'[AFHTTPSessionManager manager]'不會**返回一個單例,它會創建一個新的會話管理器對象。 – 0xced