2016-12-09 2 views
6

HTTP 프록시 서버를 통과하도록 WKWebView를 구성하는 방법이 있습니까? 이것이 NSURLSession에서 직접 가능하다는 것을 알고 있지만 WKWebView 브라우저를 통한 모든 요청이 프록시를 통과하도록 구성하려고합니다.WKWebView에서 HTTP 프록시 지원

답변

3

NSURLSessionConfiguration는 것을 할 수있는 직접 인터페이스 (connectionProxyDictionary)를 가지고, 그래서 쉽게

을 수행 할 수 있습니다 그러나, WkWebView, 그것은 요청, 같은 직접적인 인터페이스가없는 내용을 OUT- 렌더링 의 프로세스 및 그래서 당신은 WkWebview 인스턴스처럼 상상할 수있는 앱

WkWeView의 나머지 부분에서 샌드 박스입니다도 마찬가지로 NSURLSession &있는 NSURLConnection의 쿠키 (NSHTTPCookieStorage), 캐시 (NSURLCache) 및 자격 증명 (NSCredentialStorage) 이러한 네트워크 클래스를 무시 WkWebView 인스턴스의 쿠키, 캐시 및 자격 증명에 액세스 할 수 없습니다.

UIWebView는 out-of-process를 수행하지 않으므로 CustomHTTPProtocol에 나와있는 것처럼 NSURLProtocol을 서버에 프록시로 사용할 수 있습니다.

iOS 10부터는 WkWebView에서 NSURLProtocol을 지원하지 않으므로 WkWebView를 사용하여 프록시를 사용할 수 없습니다.

프록시 서버는 당신이 당신의 프록시 서버를 통해 앱이 모든 네트워크 트래픽을 직접 NetworkExtension.framework와 클래스 (NEVPNManager, NEVPNProtocol, NEVPNConnection 등 ..) 사용할 수 있습니다 터널링 (VPN)을 지원합니다.

여기에 tutorial이 수행 방법에 대한 설명이 있습니다.