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

Ìwòye tí a dá padà ń lo WKWebsiteDataStore àkànṣe tí kì í dúró. Fi ojúlé wẹ́ẹ̀bù tí o fẹ́ ṣe é lọ́wọ́ nípasẹ̀ ìwòye yẹn. Lo àkọsílẹ̀ alárinà tàbí fi applyCredential sílẹ̀ fún àwòrán tí kò nílò ẹ̀rí kankan. Fún ẹ̀ka HTTP tí kò ní ìjẹ́rìí yẹn, àkójọ àwòrán HTTP ń pèsè àwọn ibi ìparí tí ó lè ṣe fún ibi ìpamọ́ dátà.

Gbogbo ìwòye tí ó ń pín ibi ìpamọ́ yìí ń pín ìlànà àwòrán rẹ̀. Ibi ìpamọ́ àkànṣe yìí tún ní dátà ojúlé wẹ́ẹ̀bù àìpẹ́, nítorí náà kò jogún ìwọlé ojúlé wẹ́ẹ̀bù tí ó wà tẹ́lẹ̀ ti ìwòye mìíràn.

Pa ìṣètò mọ́ ṣáájú ìlọ kiri. WebKit kìlọ̀ pé yíyí ìṣètò àwòrán ibi ìpamọ́ padà lè da nẹ́tíwọ́kì rẹ̀ lọ́wọ́lọ́wọ́ rú.

Ìgbéjáde URLSession ọ̀tọ̀ tí loadHTMLString tẹ̀ lé e ń bo ìgbéjáde HTML yẹn nìkan. Àwọn àwòrán, àwọn skripti àti ìlọ kiri tó tẹ̀ lé e ṣì ń lo nẹ́tíwọ́kì ìwòye; ibi ìpamọ́ ni ìkọ̀kọ̀ ìtagbangba fún ṣíṣètò ọ̀nà yẹn.

Àwọn àpilẹ̀kọ tó jọra