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)
}

Mae'r golwg a ddychwelir yn defnyddio WKWebsiteDataStore penodol nad yw'n barhaus. Llwythwch y wefan a fwriadwyd drwy'r golwg honno. Defnyddiwch gyfrif y cyfryngydd neu hepgorwch applyCredential ar gyfer dirprwy nad oes angen un. Ar gyfer y gangen HTTP heb ei dilysu honno, mae'r rhestr dirprwyon HTTP yn darparu pwyntiau terfyn posibl ar gyfer y storfa ddata.

Mae pob golwg sy'n rhannu'r storfa hon yn rhannu ei pholisi dirprwy. Mae gan y storfa benodol hon ddata gwefan dros dro hefyd, felly nid yw'n etifeddu mewngofnod gwefan presennol golwg arall.

Cadwch y ffurfweddiad o flaen y llywio. Mae WebKit yn rhybuddio y gall newid ffurfweddiad dirprwy storfa darfu ar ei rhwydweithio presennol.

Mae cais URLSession ar wahân wedi'i ddilyn gan loadHTMLString yn cwmpasu'r cais HTML hwnnw yn unig. Mae delweddau, sgriptiau a llywio diweddarach yn dal i ddefnyddio rhwydweithio'r golwg; y storfa yw'r bachyn cyhoeddus ar gyfer ffurfweddu'r llwybr hwnnw.

Erthyglau cysylltiedig