Як наладзіць проксі ў Playwright (Browser і Per-Context Auth)
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 IP40 000 ₫
- Ад 5 IP35 000 ₫
- Ад 10 IP25 000 ₫
- Ад 20 IP25 000 ₫
- Ад 50 IP25 000 ₫
- Ад 100 IP25 000 ₫
- Ад 200 IP25 000 ₫
- Ад 500 IP25 000 ₫
- Ад 1000 IP22 000 ₫
- Ад 2000 IP20 000 ₫
- 1 IP50 000 ₫
- Ад 3 IP40 000 ₫
- Ад 5 IP40 000 ₫
- Ад 10 IP32 000 ₫
- Ад 50 IP30 000 ₫
- Ад 100 IP30 000 ₫
- Ад 200 IP30 000 ₫
- Ад 500 IP25 000 ₫
Канфігурацыя аб'екта proxy у 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' | Неабавязковы спіс хостаў праз коску, якія працуюць без проксі |
Эфектыўны запуск BrowserContexts з некалькімі IP
- У Windows і macOS перадавайце фіктыўны
proxy: { server: 'http://per-context' }уchromium.launch(), калі плануеце перавызначацьproxyу асобных выклікахbrowser.newContext() - Задавайце
timezoneIdіlocaleуbrowser.newContext()разам з проксі, каб загалоўкі і JS APIIntlадпавядалі краіне проксі - Адмяняйце непатрэбныя запыты малюнкаў і шрыфтоў з дапамогай
page.route(), каб павялічыць хуткасць скрапінгу
Крок за крокам
- 1
Атрымайце ip, port, імя карыстальніка і пароль
Скапіюйце даныя доступу
ip:port:user:passз панэлі кіравання VinaProxy. - 2
Перадайце аб'ект proxy у 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 патрабуецца глабальны сцяг проксі пры запуску, перш чым дазволіць перавызначэнне для асобных кантэкстаў. Запусціце браўзер праз chromium.launch({ proxy: { server: 'http://per-context' } }), а затым перадайце сапраўдны проксі ў кожны выклік browser.newContext({ proxy }).
Ці працуюць проксі ад VinaProxy з Firefox і WebKit у Playwright?
Так. Абсалютна такі ж сінтаксіс proxy: { server, username, password } працуе ў Chromium, Firefox і WebKit як у Node.js, так і ў Python.
Ці ўлічваецца трафік пры запуску браўзераў Playwright у рэжыме headless?
Не. Усе тарыфныя планы VinaProxy Dedicated IPv4 і Static ISP уключаюць неабмежаваны штомесячны трафік.
Маштабуйце Playwright BrowserContexts з выдзеленымі статычнымі IP
Імгненныя безлімітныя HTTP(S)-проксі ў 7 лакацыях па ўсім свеце.
Купіць проксі для Playwright