نحوه تنظیم پروکسی در Playwright (احراز هویت در سطح مرورگر و Per-Context)
Updated:
Playwright به صورت بومی و بدون نیاز به هیچ افزونه مرورگر یا پکیج واسط، از احراز هویت پروکسی HTTP (server، username، password) در Chromium، Firefox و WebKit پشتیبانی میکند. فراتر از آن، قابلیت Per-Context Proxy در Playwright اجازه میدهد در یک نمونه مرورگر واحد، دهها نشست BrowserContext کاملاً مجزا اجرا کنید که هر کدام به IP ثابت VinaProxy اختصاصی خود متصل هستند.
proxy={ server: 'http://ip:port', username: 'user', password: 'pass' }- 1 آیپی₫۴۰٬۰۰۰
- +5 آیپی₫۳۵٬۰۰۰
- +10 آیپی₫۲۵٬۰۰۰
- +20 آیپی₫۲۵٬۰۰۰
- +50 آیپی₫۲۵٬۰۰۰
- +100 آیپی₫۲۵٬۰۰۰
- +200 آیپی₫۲۵٬۰۰۰
- +500 آیپی₫۲۵٬۰۰۰
- +1000 آیپی₫۲۲٬۰۰۰
- +2000 آیپی₫۲۰٬۰۰۰
- 1 آیپی₫۵۰٬۰۰۰
- +3 آیپی₫۴۰٬۰۰۰
- +5 آیپی₫۴۰٬۰۰۰
- +10 آیپی₫۳۲٬۰۰۰
- +50 آیپی₫۳۰٬۰۰۰
- +100 آیپی₫۳۰٬۰۰۰
- +200 آیپی₫۳۰٬۰۰۰
- +500 آیپی₫۲۵٬۰۰۰
پیکربندی آبجکت پروکسی در Playwright
آبجکت پیکربندی proxy را میتوانید به صورت سراسری در chromium.launch({ proxy }) یا به ازای هر نشست در browser.newContext({ proxy }) ارسال کنید:
| کلید Playwright | فرمت مقدار | نکته فنی |
|---|---|---|
server | 'http://ip:port' | فقط هاست و پورت، با پیشوند http:// |
username | 'user' | نام کاربری پروکسی VinaProxy شما |
password | 'pass' | رمز عبور پروکسی VinaProxy شما (مدیریت بومی در صورت مواجهه با HTTP 407) |
bypass | 'localhost,127.0.0.1' | هاستهای اختیاری جداشده با کاما جهت دور زدن پروکسی |
اجرای بهینه BrowserContextها با چندین IP
- در Windows و macOS، هر زمان که قصد دارید
proxyرا در فراخوانیهای جداگانهbrowser.newContext()بازنویسی کنید، مقدار جانشینproxy: { server: 'http://per-context' }را درونchromium.launch()ارسال نمایید - مقادیر
timezoneIdوlocaleرا درbrowser.newContext()همزمان با پروکسی تعیین کنید تا هدرها و APIهایIntlدر جاوااسکریپت با کشور پروکسی مطابقت داشته باشند - درخواستهای غیرضروری تصویر و فونت را با
page.route()لغو کنید تا سرعت و ظرفیت پردازش اسکرپینگ بیشتر شود
گام به گام
- 1
استخراج ip، port، username و password
اطلاعات ورود
ip:port:user:passخود را از داشبورد VinaProxy کپی کنید. - 2
ارسال آبجکت پروکسی به newContext()
دستور
const context = await browser.newContext({ proxy: { server: 'http://ip:port', username: 'user', password: 'pass' } })را فراخوانی کنید. - 3
تنظیم و همگامسازی timezoneId و locale
پارامترهای
timezoneIdوlocaleمتناسب با لوکیشن پروکسی خود را اضافه کنید (مانندAmerica/New_YorkیاAsia/Ho_Chi_Minh). - 4
بررسی IP خروجی در صفحه جدید
دستور
const page = await context.newPage()را اجرا کرده و آدرسhttps://vinaproxy.com/api/my-ipرا درخواست دهید.
پرسشهای متداول
چرا Playwright خطای 'Proxy is only supported when browser is launched with a proxy' داد؟
در Windows و macOS، مرورگر Chromium پیش از امکانپذیر ساختن بازنویسی per-context، نیازمند فلگ سراسری پروکسی هنگام راهاندازی است. مرورگر را با chromium.launch({ proxy: { server: 'http://per-context' } }) باز کنید و سپس پروکسی واقعی را به هر browser.newContext({ proxy }) پاس دهید.
آیا پروکسیهای VinaProxy در Firefox و WebKit برای Playwright هم کار میکنند؟
بله. ساختار کاملاً یکسان proxy: { server, username, password } در Chromium، Firefox و WebKit چه در Node.js و چه در Python کار میکند.
آیا ترافیک هنگام اجرای مرورگرهای بدون سر (headless) در Playwright محاسبه و مصرف میشود؟
خیر. تمام پلنهای Dedicated IPv4 و Static ISP در VinaProxy شامل پهنای باند نامحدود ماهانه هستند.
توسعه BrowserContextهای Playwright با IPهای ثابت اختصاصی
پروکسیهای آنی و نامحدود HTTP(S) در 7 موقعیت مکانی جهان.
خرید پروکسی Playwright