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 ئېلىشنى قاپلايدۇ. رەسىملەر، قوليازمىلار ۋە كېيىنكى يۆتكەش يەنىلا كۆرۈنۈشنىڭ تورىنى ئىشلىتىدۇ؛ ئامبار شۇ يولنى سەپلەشنىڭ ئاممىۋى ئىلگىرىكى.

مۇناسىۋەتلىك ماقالىلەر