2016-12-09 52 views
6

Bir HTTP Proxy sunucusu üzerinden gitmek için WKWebView öğesini yapılandırmanın bir yolu var mı? Bunun doğrudan NSURLSession ile mümkün olduğunu biliyorum, ancak WKWebView tarayıcısındaki tüm isteklerin bir proxy üzerinden geçmesini sağlamak için bunu yapılandırmak istiyorum.HTTP Proxy desteği ile WKWebView

cevap

3

NSURLSessionConfiguration bunu doğrudan bir arayüz (connectionProxyDictionary) vardır, bu nedenle kolayca

yapılabilir Ama WkWebView, bu talep, böyle herhangi bir doğrudan arayüze sahip olmayan içerik out vermektedir of-süreci ve böylece WkWebview örneği gibi hayal edebilirsiniz uygulamanızda

WkWeView geri kalanından korumalı alan bile aynı şekilde NSURLSession & NSURLConnection ait çerezleri (NSHTTPCookieStorage), önbelleklerini (NSURLCache) ve Kimlik (NSCredentialStorage) bu ağ sınıfları yok sayar WkWebView örneğinin çerezlerine, önbelleklerine ve kimlik bilgilerine erişemez.

UIWebView bunu işlem dışı yapmaz ve sunucuya proxy olarak örnek olarak CustomHTTPProtocol örneğinde gösterildiği gibi NSURLProtocol kullanabilirsiniz.

iOS 10'dan itibaren, WkWebView'de NSURLProtocol desteği yoktur, bu nedenle WkWebView kullanarak proxy yapamazsınız.

proxy sunucusu daha sonra proxy sunucusu üzerinden uygulamanızın tüm ağ trafiğini yönlendirmek için NetworkExtension.framework ve sınıflarını (NEVPNManager, NEVPNProtocol, NEVPNConnection vb ..) kullanabilirsiniz tünel (VPN) destekliyorsa.

İşte bu nasıl yapılır tutorial