iOS 17+ আৰু macOS 14+ ত WKWebView প্ৰক্সি ডেটা ষ্ট'ৰ
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 ফেট্চ সামৰে। ছবি, স্ক্ৰিপ্ট আৰু পিছৰ নেভিগেচনে এতিয়াও ভিউৰ নেটৱৰ্কিং ব্যৱহাৰ কৰে; ষ্ট'ৰটোৱেই সেই পথ কনফিগাৰ কৰাৰ ৰাজহুৱা হুক।