ហាងទិន្នន័យប្រូកស៊ី 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 នោះប៉ុណ្ណោះ។ រូបភាព ស្គ្រីប និងការរុករកបន្ទាប់នៅតែប្រើបណ្តាញរបស់ទិដ្ឋភាព។ ហាងគឺជាទំពក់សាធារណៈសម្រាប់កំណត់ផ្លូវនោះ។