د 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 ترلاسه کول پوښي. انځورونه، سکریپټونه او وروسته تګ راتګ لا هم د لید شبکه کاروي؛ ذخیره د همدې لارې د تنظیم عامه چنګک ده.