संक्षेप में: server, username और password के साथ proxy को chromium.launch में दें, या उसे एक context तक सीमित करने के लिए browser.new_context में दें। HTTP पर तीनों इंजन इन्हीं फ़ील्ड से ऑथेंटिकेट करते हैं। SOCKS5 पर इनमें से कोई भी यूज़रनेम और पासवर्ड स्वीकार नहीं करता: Playwright launch करने से मना कर देता है। अपना IP प्रॉक्सी की व्हाइटलिस्ट में डालें और सिर्फ़ socks5:// server दें।
Playwright एक ही API से Chromium, Firefox और WebKit चलाता है, और प्रॉक्सी इस बात का हिस्सा है कि ब्राउज़र या context कैसे बनाया जाता है। इससे एक स्क्रिप्ट में कई पते चलाना आसान हो जाता है, और यहीं इसकी एक सख्त सीमा भी है: पासवर्ड के साथ SOCKS5।
Python में Playwright प्रॉक्सी
Python सैंपल पूरे ब्राउज़र के लिए प्रॉक्सी के साथ Chromium launch करता है; हर context वाला सैंपल इसके बजाय उसे एक context तक सीमित करता है। इंजन बदलने का मतलब है chromium को firefox या webkit से बदलना; प्रॉक्सी ऑब्जेक्ट वही रहता है।
Playwright प्रॉक्सी ऑथेंटिकेशन
जब प्रॉक्सी HTTP बोलती है, तो तीनों इंजन प्रॉक्सी के 407 का जवाब प्रॉक्सी ऑब्जेक्ट के यूज़रनेम और पासवर्ड से देते हैं। SOCKS5 प्रॉक्सी को इनमें से किसी से ऐसा जवाब नहीं मिलता, इसीलिए SOCKS5 सैंपल में कोई क्रेडेंशियल नहीं है और वह व्हाइटलिस्ट पर निर्भर है।
Playwright में हर पेज पर प्रॉक्सी, और bypass
प्रॉक्सी को किसी अकेले पेज से नहीं जोड़ा जा सकता। इकाई context है: हर पते के लिए एक context बनाएँ और जिन पेजों को वह पता साझा करना है, उन्हें उसके अंदर खोलें। Playwright में context सस्ते होते हैं, इसलिए जो स्क्रिप्ट एक स्टोरफ़्रंट को तीन देशों से जाँचती है, वह तीन context रखती है, हर एक अपने ऑर्डर से बना।
प्रॉक्सी ऑब्जेक्ट एक bypass फ़ील्ड भी लेता है, कॉमा से अलग किए host की सूची जिन तक सीधे पहुँचना है। इसे अपनी आंतरिक सेवाओं या किसी लोकल टेस्ट सर्वर के लिए इस्तेमाल करें, ताकि सिर्फ़ बाहरी दुनिया के लिए बना ट्रैफ़िक ही उस पते से निकले जिसके पैसे आप देते हैं।