Playwright တွင် ပရောက်စီချိန်ညှိနည်း (Browser နှင့် Context အလိုက် Auth ပြုလုပ်ခြင်း)
Updated:
Playwright သည် Chromium၊ Firefox နှင့် WebKit တို့တွင် မည်သည့် browser extension သို့မဟုတ် ပြင်ပ wrapper မှမလိုဘဲ မူရင်း HTTP ပရောက်စီ အထောက်အထားစိစစ်ခြင်း (server, username, password) ကို တိုက်ရိုက်အသုံးပြုနိုင်ပါသည်။ ပို၍ကောင်းမွန်သည်မှာ Playwright ၏ Per-Context Proxy လုပ်ဆောင်ချက်ကြောင့် browser instance တစ်ခုတည်းဖြင့် မိမိစိတ်ကြိုက် သီးခြားခွဲထားသော BrowserContext session ဒါဇင်ပေါင်းများစွာကို run နိုင်ပြီး တစ်ခုချင်းစီကို ၎င်း၏ ကိုယ်ပိုင် VinaProxy static IP နှင့် ချိတ်ဆက်ပေးနိုင်ပါသည်။
proxy={ server: 'http://ip:port', username: 'user', password: 'pass' }- 1 IP၄၀,၀၀၀ ₫
- 5+ IPs၃၅,၀၀၀ ₫
- 10+ IPs၂၅,၀၀၀ ₫
- 20+ IPs၂၅,၀၀၀ ₫
- 50+ IPs၂၅,၀၀၀ ₫
- 100+ IPs၂၅,၀၀၀ ₫
- 200+ IPs၂၅,၀၀၀ ₫
- 500+ IPs၂၅,၀၀၀ ₫
- 1000+ IPs၂၂,၀၀၀ ₫
- 2000+ IPs၂၀,၀၀၀ ₫
- 1 IP၅၀,၀၀၀ ₫
- 3+ IPs၄၀,၀၀၀ ₫
- 5+ IPs၄၀,၀၀၀ ₫
- 10+ IPs၃၂,၀၀၀ ₫
- 50+ IPs၃၀,၀၀၀ ₫
- 100+ IPs၃၀,၀၀၀ ₫
- 200+ IPs၃၀,၀၀၀ ₫
- 500+ IPs၂၅,၀၀၀ ₫
Playwright ပရောက်စီ object ချိန်ညှိခြင်း
proxy ချိန်ညှိမှု object ကို chromium.launch({ proxy }) တွင် global အဖြစ်သော်လည်းကောင်း သို့မဟုတ် browser.newContext({ proxy }) တွင် session တစ်ခုချင်းစီအလိုက်သော်လည်းကောင်း ထည့်သွင်းပေးပါ-
| Playwright Key | တန်ဖိုး ပုံစံ | နည်းပညာဆိုင်ရာ မှတ်ချက် |
|---|---|---|
server | 'http://ip:port' | ရှေ့တွင် http:// ခံထားသော Host နှင့် port သာဖြစ်သည် |
username | 'user' | သင်၏ VinaProxy ပရောက်စီ အသုံးပြုသူအမည် |
password | 'pass' | သင်၏ VinaProxy ပရောက်စီ လျှို့ဝှက်နံပါတ် (HTTP 407 တွင် အလိုအလျောက် ကိုင်တွယ်ဖြေရှင်းသည်) |
bypass | 'localhost,127.0.0.1' | ပရောက်စီကို ကျော်လွှားအသုံးပြုမည့် ကော်မာခြားထားသော host များ (ရွေးချယ်နိုင်သည်) |
IP အများအပြားပါဝင်သော BrowserContexts များကို ထိရောက်စွာ အသုံးပြုခြင်း
- Windows နှင့် macOS တွင် သီးခြား
browser.newContext()ခေါ်ဆိုမှုများအတွင်းproxyကို ပြင်ဆင်အသုံးပြုလိုသည့်အခါတိုင်းchromium.launch()ထဲတွင် နေရာယူ placeholder တစ်ခုဖြစ်သောproxy: { server: 'http://per-context' }ကို ထည့်သွင်းပေးပါ - headers များနှင့် JS
IntlAPI များသည် ပရောက်စီတည်ရှိရာနိုင်ငံနှင့် ကိုက်ညီစေရန် သင်၏ proxy နှင့်အတူbrowser.newContext()တွင်timezoneIdနှင့်localeကို သတ်မှတ်ပါ - scraping လုပ်ဆောင်မှုနှုန်း မြန်ဆန်စေရန်အတွက် မလိုအပ်သော ဓာတ်ပုံများနှင့် font တောင်းဆိုမှုများကို
page.route()ဖြင့် ရပ်တန့်ဖျက်သိမ်းပါ
အဆင့်ဆင့် လုပ်ဆောင်ရန်
- 1
ip, port, username နှင့် password ကို ရယူပါ
VinaProxy dashboard မှ သင်၏
ip:port:user:passအထောက်အထားများကို ကူးယူပါ။ - 2
proxy object ကို 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
စာမျက်နှာအသစ်တွင် ထွက်ပေါက် exit 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 အစားထိုးသတ်မှတ်ခွင့်မပြုမီ global launch proxy flag တစ်ခု လိုအပ်ပါသည်။ browser ကို chromium.launch({ proxy: { server: 'http://per-context' } }) ဖြင့် ဖွင့်လှစ်ပြီးနောက် browser.newContext({ proxy }) တစ်ခုချင်းစီသို့ အမှန်တကယ် ပရောက်စီကို ထည့်သွင်းပေးပါ။
VinaProxy ပရောက်စီများသည် Playwright Firefox နှင့် WebKit တို့တွင်လည်း အလုပ်လုပ်ပါသလား။
ဟုတ်ကဲ့၊ အလုပ်လုပ်ပါသည်။ Node.js နှင့် Python နှစ်ခုစလုံးရှိ Chromium၊ Firefox နှင့် WebKit တို့တွင် ထပ်တူညီသော proxy: { server, username, password } syntax ဖြင့် အလုပ်လုပ်ပါသည်။
headless Playwright browser များကို အသုံးပြုသည့်အခါ bandwidth ကန့်သတ်ချက် ရှိပါသလား။
မရှိပါ။ VinaProxy ၏ Dedicated IPv4 နှင့် Static ISP အစီအစဉ်အားလုံးတွင် လစဉ်အကန့်အသတ်မဲ့ အသုံးပြုနိုင်သော traffic ပါဝင်ပါသည်။
သီးသန့် static IP များဖြင့် Playwright BrowserContexts များကို ချဲ့ထွင်အသုံးပြုပါ
ကမ္ဘာတစ်ဝှမ်း တည်နေရာ 7 ခုတွင် အကန့်အသတ်မဲ့ ချက်ချင်းရရှိနိုင်သော HTTP(S) ပရောက်စီများ။
Playwright ပရောက်စီများ ဝယ်ယူရန်