WKWebView פּראָקסי דאַטן סטאָרעס אויף iOS 17+ און macOS 14+
אויף iOS 17 אָדער macOS 14 און שפּעטער, שטעלט proxyConfigurations איידער איר שאַפֿט און נאַוויגירט די מיינונג, מיט באַשטעטיקונגען ווען דער CONNECT מיטלמאַן דאַרף זיי.
import Network
import WebKit
@available(iOS 17.0, macOS 14.0, *)
@MainActor
func makeWebView(username: String, password: String) -> WKWebView {
let endpoint = NWEndpoint.hostPort(
host: "proxy.example.net", port: 8080)
let proxy = ProxyConfiguration(
httpCONNECTProxy: endpoint, tlsOptions: nil)
proxy.applyCredential(username: username, password: password)
let store = WKWebsiteDataStore.nonPersistent()
store.proxyConfigurations = [proxy]
let configuration = WKWebViewConfiguration()
configuration.websiteDataStore = store
return WKWebView(frame: .zero, configuration: configuration)
}די צוריקגעגעבענע מיינונג ניצט אַ ספּעציעלן נישט-שטענדיקן WKWebsiteDataStore. לאָדט דעם געוואונטשענעם וועבזײַטל דורך יענער מיינונג. ניצט דעם מיטלמאַן'ס קאָנטע, אָדער לאָזט אויס applyCredential פֿאַר אַ פּראָקסי וואָס דאַרף קיין באַשטעטיקונג. פֿאַר יענעם נישט-באַשטעטיקטן HTTP צווײַג שטעלט די HTTP פּראָקסי רשימה צו קאַנדידאַט ענדפּוינטס פֿאַר דעם דאַטן סטאָר.
יעדער מיינונג וואָס טיילט דעם סטאָר טיילט אויך זײַן פּראָקסי פּאָליטיק. דער ספּעציעלער סטאָר האָט אויך פֿאַרגײַנגלעכע וועבזײַטל דאַטן, דערפֿאַר ירשעט ער נישט אַן אַנדער מיינונג'ס עקזיסטירנדיקע וועבזײַטל אַרײַנלאָגירונג.
האַלט די קאָנפֿיגוראַציע פֿאַר דער נאַוויגאַציע. WebKit וואָרנט אַז ענדערן אַ סטאָר'ס פּראָקסי קאָנפֿיגוראַציע קען אונטערברעכן זײַן איצטיקע נעץ אַרבעט.
אַ באַזונדער URLSession אָפּרוף געפֿאָלגט פֿון loadHTMLString דעקט נאָר יענעם HTML אָפּרוף. בילדער, סקריפּטן און שפּעטערדיקע נאַוויגאַציע ניצן נאָך די מיינונג'ס נעץ; דער סטאָר איז דער עפנטלעכער קרוק צו קאָנפֿיגורירן יענעם וועג.