# Playwright प्रॉक्सी: ऑथेंटिकेशन के साथ सेटअप, Python और Node | ProxyJam

Playwright प्रॉक्सी को हर ब्राउज़र या हर context पर कैसे सेट करें, HTTP पर यूज़रनेम और पासवर्ड के साथ, और SOCKS5 को IP व्हाइटलिस्ट की ज़रूरत क्यों है। जाँचा हुआ कोड।

- Canonical: https://proxyjam.com/hi/integrations/playwright/
- Updated: 2026-10-23
- Language: hi

Playwright को एक स्टैटिक ISP पता दें, launch पर या किसी एक browser context के लिए। सैंपल पब्लिश करने से पहले Chromium, Firefox और WebKit में एक लोकल प्रॉक्सी पर चलाकर देखे गए।


server, username और password के साथ proxy को chromium.launch में दें, या उसे एक context तक सीमित करने के लिए browser.new_context में दें। HTTP पर तीनों इंजन इन्हीं फ़ील्ड से ऑथेंटिकेट करते हैं। SOCKS5 पर इनमें से कोई भी यूज़रनेम और पासवर्ड स्वीकार नहीं करता: Playwright launch करने से मना कर देता है। अपना IP प्रॉक्सी की व्हाइटलिस्ट में डालें और सिर्फ़ socks5:// server दें।


## Playwright में प्रॉक्सी सेट करें

1. **host, port, यूज़रनेम और पासवर्ड कॉपी करें** डैशबोर्ड के मेरे प्रॉक्सी से या API में ऑर्डर से। हर पता अपनी चार वैल्यू के साथ आता है।
2. **दायरा चुनें** `launch` पर पूरा ब्राउज़र प्रॉक्सी इस्तेमाल करता है। `new_context` पर सिर्फ़ वह context, इसलिए एक स्क्रिप्ट कई context अलग-अलग पतों से चला सकती है।
3. **प्रॉक्सी ऑब्जेक्ट दें** `{"server": "http://HOST:PORT", "username": "USERNAME", "password": "PASSWORD"}`. क्रेडेंशियल अपने अलग फ़ील्ड में जाते हैं, server URL के अंदर कभी नहीं।
4. **SOCKS5 पर जा रहे हैं? क्रेडेंशियल हटा दें** Playwright SOCKS5 प्रॉक्सी में लॉग इन नहीं कर सकता, इसलिए ऑर्डर को SOCKS5 पर स्विच करें, कोड टैब में दी व्हाइटलिस्ट कॉल से अपनी मशीन के IP को अनुमति दें, और नए port के साथ सिर्फ़ `socks5://HOST:PORT` रखें। जब तक व्हाइटलिस्ट सेट है, प्रॉक्सी सिर्फ़ सूची में दिए पतों को आने देती है और उस ऑर्डर के लिए यूज़रनेम और पासवर्ड काम करना बंद कर देते हैं; खाली सूची भेजने से व्हाइटलिस्ट बंद हो जाती है और पासवर्ड से लॉगिन फिर काम करने लगता है।
5. **बाहर जाने वाला पता पक्का करें** असली रन से पहले उस ब्राउज़र या context के किसी पेज में एक बार [What Is My IP](/hi/what-is-my-ip/) खोलें।

## Playwright के लिए जाँचा हुआ कोड

Python और Node के लिए Playwright 1.64 के साथ चलाया गया। HTTP सैंपल यूज़रनेम और पासवर्ड भेजते हैं और उन्हें ऐसा ऑर्डर चाहिए जिस पर कोई व्हाइटलिस्ट सेट न हो; SOCKS5 वाला व्हाइटलिस्ट पर निर्भर है और उसके लिए पहले प्रॉक्सी को SOCKS5 पर स्विच करना पड़ता है, जिससे नया port मिलता है। बड़े अक्षरों वाली वैल्यू की जगह अपने ऑर्डर की वैल्यू डालें।

### Python

पूरे ब्राउज़र के लिए प्रॉक्सी, Python।

```
# pip install playwright && playwright install chromium
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(proxy={
        "server": "http://HOST:PORT",
        "username": "USERNAME",
        "password": "PASSWORD",
    })
    page = browser.new_page()
    page.goto("https://example.com/")
    print(page.title())
    browser.close()
```

### Node.js

पूरे ब्राउज़र के लिए प्रॉक्सी, Node।

```
// npm i playwright && npx playwright install chromium
const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch({
    proxy: {
      server: 'http://HOST:PORT',
      username: 'USERNAME',
      password: 'PASSWORD',
    },
  });
  const page = await browser.newPage();
  await page.goto('https://example.com/');
  console.log(await page.title());
  await browser.close();
})();
```

### हर context पर

एक browser context के लिए प्रॉक्सी।

```
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch()
    # The proxy belongs to this context only; another context can use
    # a different address, or none.
    context = browser.new_context(proxy={
        "server": "http://HOST:PORT",
        "username": "USERNAME",
        "password": "PASSWORD",
    })
    page = context.new_page()
    page.goto("https://example.com/")
    print(page.title())
    browser.close()
```

### SOCKS5

व्हाइटलिस्ट वाले IP के साथ SOCKS5।

```
# Switch the proxy to SOCKS5 and put your machine's IP on its whitelist:
# Chromium cannot send a SOCKS5 username and password.
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(proxy={"server": "socks5://HOST:PORT"})
    page = browser.new_page()
    page.goto("https://example.com/")
    print(page.title())
    browser.close()
```

### व्हाइटलिस्ट कॉल

अपना IP प्रॉक्सी की व्हाइटलिस्ट में जोड़ें।

```
# Put the public IPv4 address your code runs from on the proxy's
# whitelist. Replaces the list; an empty list turns whitelisting off
# and the proxy falls back to username and password.
curl -X PUT "https://api.proxyjam.com/public/v1/orders/ORDER_ID/whitelist" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"whitelisted_ips": ["YOUR_IP"]}'
```


## Playwright का हर ब्राउज़र क्या स्वीकार करता है

|  | पासवर्ड के साथ HTTP | पासवर्ड के साथ SOCKS5 | SOCKS5, व्हाइटलिस्ट वाला |
|---|---|---|---|
| Chromium | काम करता है | launch पर मना | काम करता है |
| Firefox | काम करता है | launch पर मना | काम करता है |
| WebKit | काम करता है | launch पर मना | काम करता है |

2026-10-22 को macOS पर Python के लिए Playwright 1.64 के साथ जाँचा गया: हर इंजन को एक ऐसी लोकल प्रॉक्सी पर launch किया गया जो पासवर्ड माँगती थी, और एक ऐसी पर जो व्हाइटलिस्ट वाले क्लाइंट को आने देती थी। मना का मतलब है कि Playwright launch पर ही error के साथ रुक गया।


## पता Playwright के मॉडल में कैसे बैठता है

- **एक context, एक पता:** हर browser context अपने ऑर्डर से अपना स्टैटिक IP रख सकता है
- **HTTP साइन-इन:** username और password फ़ील्ड, जिन्हें Chromium, Firefox और WebKit स्वीकार करते हैं
- **SOCKS5 साइन-इन:** सिर्फ़ व्हाइटलिस्ट वाले IPv4 पते से, जो API या MCP से सेट होती है
- **स्थिरता:** जितनी अवधि के पैसे आपने दिए, उस पूरी अवधि में IP हर रन पर वही रहता है

## Playwright प्रॉक्सी में क्या गलत होता है

### server स्ट्रिंग में क्रेडेंशियल

Playwright यूज़रनेम और पासवर्ड उनके अपने फ़ील्ड से पढ़ता है। अगर उन्हें server URL में लिख दिया जाए, तो वे भेजे ही नहीं जाते: हमारे टेस्ट में पहला नेविगेशन समय खत्म होने तक अटका रहा, और ऐसा कोई मैसेज नहीं आया जो क्रेडेंशियल की ओर इशारा करे।

### SOCKS5 पासवर्ड

हर इंजन SOCKS5 ऑथेंटिकेशन से मना करता है, और error launch पर ही आ जाता है, कोई भी पेज खुलने से पहले। इसका हल कोई दूसरी लाइब्रेरी नहीं है: जिस IP से आपकी स्क्रिप्ट चलती है उसे व्हाइटलिस्ट करें और क्रेडेंशियल हटा दें।

### यह उम्मीद कि new_page पता बदल देगा

पेज अपने context की प्रॉक्सी साझा करते हैं, और context ब्राउज़र की, जब तक उन्हें अपनी प्रॉक्सी न दी जाए। दो पते साथ-साथ चलाने के लिए दो context बनाएँ, हर एक अपनी प्रॉक्सी के साथ।

### बाहर जाने वाले पते की जाँच छोड़ देना

port में टाइपो या अभी भी HTTP पर सेट प्रॉक्सी साफ़ error देती है, लेकिन बिना प्रॉक्सी ऑब्जेक्ट के बना context चुपचाप सीधे बाहर चला जाता है। आप जो भी context कॉन्फ़िगर करें, हर एक में एक बार IP दिखाने वाला पेज लोड करें।


## Playwright में प्रॉक्सी के बारे में सवाल

### Playwright में ऑथेंटिकेशन वाली प्रॉक्सी कैसे सेट करें?

server, username और password वाला एक ऑब्जेक्ट launch में या new_context में दें। HTTP प्रॉक्सी पर Chromium, Firefox और WebKit तीनों ये क्रेडेंशियल तब भेजते हैं जब प्रॉक्सी उन्हें माँगती है।

### क्या Playwright में पासवर्ड वाली SOCKS5 प्रॉक्सी इस्तेमाल कर सकते हैं?

नहीं। तीनों इंजन में Playwright launch पर ही इस error के साथ रुक जाता है कि ब्राउज़र SOCKS5 प्रॉक्सी ऑथेंटिकेशन सपोर्ट नहीं करता। जिस IP से आपकी स्क्रिप्ट चलती है उसे व्हाइटलिस्ट करें, फिर सिर्फ़ socks5 server दें; हमारी व्हाइटलिस्ट HTTP की तरह SOCKS5 पर भी लागू होती है।

### हर पेज के लिए अलग प्रॉक्सी कैसे इस्तेमाल करें?

हर browser context को उसकी अपनी प्रॉक्सी दें और पेज उसी context में खोलें। एक context के अंदर के पेज हमेशा उसकी प्रॉक्सी साझा करते हैं, इसलिए हर पेज पर अलग प्रॉक्सी का मतलब है हर पेज पर एक context।

### क्या Python और Node में सेटअप एक जैसा है?

वही ऑब्जेक्ट, वही तीन फ़ील्ड: Python इसे dictionary के रूप में लिखता है, Node object literal के रूप में। इस पेज के दोनों सैंपल Playwright 1.64 के साथ चलाए गए।

### क्या मैं प्रॉक्सी को स्क्रेपिंग के लिए इस्तेमाल कर सकता हूँ?

अपने पेजों की क्षेत्र के हिसाब से टेस्टिंग, क्वालिटी चेक, विज्ञापन सत्यापन, कीमत और बाज़ार रिसर्च, SEO मॉनिटरिंग और ब्रांड सुरक्षा हमारी स्वीकार्य उपयोग नीति के तहत बिना पूर्व समीक्षा के चलते हैं। सिर्फ़ सार्वजनिक रूप से उपलब्ध होना डेटा इकट्ठा करने की अनुमति नहीं देता, निजी डेटा के लिए एक बताया गया कानूनी आधार चाहिए, और पता CAPTCHA, बॉट डिटेक्शन, रेट लिमिट या बैन से पार नहीं पाता; नीति ऐसी कोशिश पर रोक लगाती है।


context और स्टैटिक पते एक-से-एक जुड़ते हैं: हर बाज़ार या हर जॉब के लिए एक context, और हर context स्क्रिप्ट के हर रन पर एक न बदलने वाले IP से टारगेट तक पहुँचता है। [ISP प्रॉक्सी](/hi/isp-proxies/) पर उतने पते खरीदें जितने context आप चलाते हैं, [कीमतें](/hi/pricing/) पर प्लान की तुलना करें, और [Python requests](/hi/integrations/python-requests/) गाइड से बिना ब्राउज़र के पेज लाएँ।



## स्रोत

- [Playwright documentation, Network: HTTP proxy](https://playwright.dev/python/docs/network#http-proxy): launch पर और हर context पर proxy विकल्प
- [Playwright API, BrowserType.launch](https://playwright.dev/python/docs/api/class-browsertype#browser-type-launch): server, bypass, username और password फ़ील्ड
- [RFC 1929, Username/Password Authentication for SOCKS V5](https://www.rfc-editor.org/rfc/rfc1929): वह SOCKS5 लॉगिन जो ब्राउज़र लागू नहीं करते




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 की सूची जिन तक सीधे पहुँचना है। इसे अपनी आंतरिक सेवाओं या किसी लोकल टेस्ट सर्वर के लिए इस्तेमाल करें, ताकि सिर्फ़ बाहरी दुनिया के लिए बना ट्रैफ़िक ही उस पते से निकले जिसके पैसे आप देते हैं।

