Pokrenite s proxyjem i provjerite autentičnost#
import puppeteer from "puppeteer";
const browser = await puppeteer.launch({
headless: true,
args: ["--proxy-server=http://res.proxy-cyber.com:9000", "--no-first-run"],
});
const page = await browser.newPage();
await page.authenticate({ username: "USER-cc-us-sid-run1-ttl-30m", password: "PASS" });
await page.goto("https://api.ipify.org", { waitUntil: "domcontentloaded", timeout: 45000 });
console.log(await page.evaluate(() => document.body.innerText));
await browser.close();Koristite različit identifikator sesije za svaki neovisni tijek rada, ako ga dodijeljeni pristupnik podržava. Potvrdite parametre dopuštenog trajanja i lokacije u detaljima veze. Uređaj u kućanstvu može se isključiti prije traženog trajanja; trajna sesija ne jamči isti IP danima. Za fiksnu adresu usporedite namjenski statički proizvod.
Jedan proxy po pregledniku#
Postavka --proxy-server na razini pokretanja primjenjuje se na zadano usmjeravanje tog preglednika. Trenutni Puppeteer također podržava proxyServer u browser.createBrowserContext(), s vjerodajnicama isporučenim kroz page.authenticate(). Koristite odvojene kontekste za različite postavke proxyja i odvojene direktorije korisničkih podataka za trajne profile; provjerite izlaz unutar svakog konteksta.
Blokiranje slika, fontova i medija#
await page.setRequestInterception(true);
page.on("request", (req) => {
const t = req.resourceType();
if (["image", "media", "font", "stylesheet"].includes(t)) return req.abort();
req.continue();
});Dosljednost#
- Postavite
Accept-Languagei vremensku zonu za državu izlaza:page.setExtraHTTPHeaders({\"Accept-Language\": \"de-DE,de;q=0.9\"})ipage.emulateTimezone(\"Europe/Berlin\"). - Onemogućite WebRTC curenje s
--force-webrtc-ip-handling-policy=disable_non_proxied_udpu argumentima za pokretanje. - Zadržite jedan preglednik po računu; ponovno upotrijebite direktorij korisničkih podataka ako račun treba izgledati kao povratni uređaj.
Pogreške koje ćete susresti#
| Simptomi | Uzrok | Popravi |
|---|---|---|
| net::ERR_TUNNEL_CONNECTION_FAILED | Gateway je odbio CONNECT: vjerodajnice, parametar ili nema izlaza | Reproducirajte s cURL -v za čitanje koda pristupnika |
| net::ERR_PROXY_AUTH_UNSUPPORTED / odzivnici | authenticate() pozvan nakon navigacije | Pozovi page.authenticate prije nego što odeš |
| Ista IP adresa u svakom pregledniku | Ponovno korišten isti ID sesije | Koristite različit -sid- po pregledniku ili ga izostavite |
| Vrlo sporo prvo opterećenje | Izlaz kućanstva plus teška stranica | Blok resursi; povećati timeout na 45 s |
Pitanja koja ljudi postavljaju#
Može li Puppeteer koristiti SOCKS5 s lozinkom?
Upotrijebite HTTP proxy na priključku 9000 s page.authenticate ili dodajte IP poslužitelja na popis dozvoljenih i proslijedite --proxy-server=socks5://res.proxy-cyber.com:9001, a zatim kliknite gumb "Pošalji".