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

Úsáideann an t-amharc a chuirtear ar ais WKWebsiteDataStore tiomnaithe neamhsheasmhach. Luchtaigh an suíomh Gréasáin atá beartaithe tríd an amharc sin. Úsáid cuntas an idirghabhálaí nó fág applyCredential ar lár do sheachfhreastalaí nach dteastaíonn ceann ar bith uaidh. Don bhrainse HTTP neamhfhíordheimhnithe sin, soláthraíonn an liosta seachfhreastalaí HTTP críochphointí iarrthacha don stór sonraí.

Roinneann gach amharc a roinneann an stór seo a bheartas seachfhreastalaí. Tá sonraí suímh ghréasáin eadrannacha ag an stór tiomnaithe seo freisin, mar sin ní fhaigheann sé oidhreacht ar logáil isteach suímh ghréasáin atá ag amharc eile.

Coinnigh an chumraíocht roimh an nascleanúint. Tugann WebKit rabhadh go bhféadfadh athrú ar chumraíocht seachfhreastalaí stóir cur isteach ar a líonrú reatha.

Ní chlúdaíonn faighteoir URLSession ar leithligh agus loadHTMLString ina dhiaidh ach an fhaighteoir HTML sin. Úsáideann íomhánna, scripteanna agus nascleanúint níos déanaí líonrú an amhairc fós; is é an stór an crúca poiblí chun an bealach sin a chumrú.

Ailt ghaolmhara