# Puppeteer proxy kimlik doğrulaması konut ve mobil IP'lerle

> Puppeteer proxy kimlik doğrulaması: --proxy-server artı page.authenticate(), tarayıcı bağlamı başına bir oturum, trafiği kaydetmek için istek engelleme.

- URL: https://crawlrelay.com/tr/docs/puppeteer/
- Son güncelleme: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

Chrome, proxy adresini başlatma bayrağından alır ve kimlik bilgilerini page.authenticate()'den alır. Kimlik bilgileri işlerin arasında sızıntı yapmaması için oturum başına bir tarayıcı bağlamı kullanın.

**Hızlı cevap — Puppeteer'da kimlik doğrulamalı proxy nasıl kullanılır?**

`--proxy-server=http://gw.crawlrelay.com:7777` ile Chrome'u başlatın, ardından ilk `goto` öncesinde `page.authenticate({ username, password })` çağrın. Chrome bayrağa yazılan kimlik bilgilerini yoksayar. **CrawlRelay** konut proxyleri kullanıcı adından ülkeyi ve yapışkan oturumu okur, böylece her sayfa veya bağlam kendi çıkışına sahip olabilir. Trafik 50 GB’dan başlayan $0,50/GB kadar maliyetlidir. KYC olmadan, kriptoyla ödenir.

## Puppeteer kurulumu kısa özet

| Özellik | Değer |
| --- | --- |
| Proxy adresi | `--proxy-server=http://gw.crawlrelay.com:7777` içinde `args` veya bir tarayıcı bağlamında `proxyServer` |
| Kimlik bilgileri | Gezinmeden önce `await page.authenticate({ username, password })` |
| Ayrı oturumlar | `browser.createBrowserContext({ proxyServer })`: oturum başına bir bağlam |
| SOCKS5 | Chrome'da kimlik doğrulamayla değil: HTTP portunu kullanın |
| Trafiği kaydetme | `page.setRequestInterception(true)` ve resim, font ve medyayı engelleme |

## Tek bir kimlik doğrulamalı proxy nasıl kurarım?

Bu en temel kalıptır. `try … finally` bloğu, gezinme başarısız olsa bile Chrome'u kapatır; bu, yetim tarayıcıların biriktiği sunucular için önemlidir.

*Node.js (ES modülü): tek tarayıcı, tek çıkış*

```javascript
import puppeteer from "puppeteer";

const browser = await puppeteer.launch({
  args: ["--proxy-server=http://gw.crawlrelay.com:7777"],
});
try {
  const page = await browser.newPage();
  await page.authenticate({ username: "USERNAME-country-us", password: "PASSWORD" });
  await page.setRequestInterception(true);
  page.on("request", (req) =>
    ["image", "font", "media"].includes(req.resourceType()) ? req.abort() : req.continue()
  );
  const res = await page.goto("https://example.com/", { waitUntil: "domcontentloaded", timeout: 60000 });
  console.log(res.status(), await page.title());
} finally {
  await browser.close();
}
```

## Birden fazla oturum veya ülkeyi tek tarayıcıda nasıl çalıştırırım?

Her oturum için bir tarayıcı bağlamı oluşturun. Bağlam; kendi çerezleri, önbelleği ve ağ durumu olan izole bir profildir, böylece bir bağlama verdiğiniz kimlik bilgileri başka bağlama sızmaz. Her bağlama kendi ülkesini veya oturum kimliğini içeren bir kullanıcı adı verin.

*Node.js: yapışkan oturum başına bir bağlam*

```javascript
import puppeteer from "puppeteer";
import { randomUUID } from "node:crypto";

const GATEWAY = "http://gw.crawlrelay.com:7777";
const browser = await puppeteer.launch();

async function visit(country, url) {
  const session = randomUUID().replaceAll("-", "").slice(0, 10);
  const context = await browser.createBrowserContext({ proxyServer: GATEWAY });
  try {
    const page = await context.newPage();
    await page.authenticate({
      username: `USERNAME-country-${country}-session-${session}-ttl-20`,
      password: "PASSWORD",
    });
    await page.goto(url, { waitUntil: "domcontentloaded", timeout: 60000 });
    return { country, session, ip: await page.evaluate(() => document.body.innerText.trim()) };
  } finally {
    await context.close();
  }
}

try {
  const results = await Promise.all([
    visit("us", "https://api.ipify.org"),
    visit("gb", "https://api.ipify.org"),
  ]);
  console.table(results);
} finally {
  await browser.close();
}
```

## Puppeteer neden 407 veya ERR_TUNNEL_CONNECTION_FAILED gösterir?

Çünkü Chrome hiç kimlik bilgisi göndermedi ya da yanlış gönderdiler. Üç şeyi kontrol edin:

1. `page.authenticate()`, o sayfada ilk `goto`'ten **önce** çalışır.
2. `--proxy-server` bayrağı veya `proxyServer` sadece şema, host ve port içerir; `user:pass@` kısmı yoktur.
3. Kullanıcı adının hedef kısmında yazım yanlışı yoktur: önce curl ile test edin, [407 sayfasında gösterildiği gibi](https://crawlrelay.com/tr/docs/errors/407-proxy-authentication-required/).

Eğer curl aynı kullanıcı adı ve şifre ile başarılıysa ve Puppeteer başarısızsa, [ERR_TUNNEL_CONNECTION_FAILED](https://crawlrelay.com/tr/docs/errors/err-tunnel-connection-failed/) sayfasını okuyun.

## Puppeteer sayfası kaç GB trafik harcar?

Chrome'un indirdiği her şey faturalandırılır: HTML, betikler, stil dosyaları, resimler, fontlar ve sayfanın yaptığı API çağrıları. HTTP Archive Web Almanac 2025, mobilde ortalama sayfa ağırlığını 2,164 KB ve masaüstünde 2,412 KB olarak ölçmüştür. İstek engelleme ile resimleri, fontları ve medyayı engellemek genellikle bunu birkaç yüz kilobaya indirir; tekrarlanan betikler için önbelleğe alınan yanıtları geri vermek ise daha da azaltır. [Sadece ihtiyacınız olan sayfalar için ](https://crawlrelay.com/tr/mobile-proxies/) döndürücü mobil 4G proxy kullanın: mobil trafik 5 GB’dan başlayan $1,50/GB, konut trafik ise 50 GB’dan başlayan $0,50/GB ile maliyetlendirilir.

## Puppeteer ve proxyler: sorular

### Kullanıcı adı ve şifreyi --proxy-server içinde yazabilir miyim?

Hayır. Chrome, `--proxy-server` bayrağındaki kimlik bilgilerini yoksayar ve ilk HTTPS isteği `ERR_TUNNEL_CONNECTION_FAILED` tarafından gizlenen 407 ile başarısız olur. Bayrakta sadece `http://host:port` kullanın ve her yeni sayfada kimlik bilgilerini `page.authenticate()` ile geçirin.

### Puppeteer'da sayfalar arasında IP’yi nasıl döndürürüm?

Her sayfayı yeni bir tarayıcı bağlamında açın veya her sayfaya oturum kimliği olmayan bir kullanıcı adı verin. Yeni bir bağlam yeni bağlantılar açar ve her yeni bağlantı genellikle farklı bir konut proxy çıkışı alır. Tek bir sayfa içinde Chrome bağlantıları tekrar kullanır, bu yüzden aynı siteye yapılan istekler genellikle bağlantı kapanana kadar aynı çıkışı paylaşır.

### page.authenticate() istek engelleme ile çalışır mı?

Evet. Puppeteer, proxy'in kimlik doğrulama talebini kendisi halleder, müdahale eden işleyiciniz yalnızca her istekte `continue()` veya `abort()` çağırmalıdır. Önce `authenticate()` kurun, sonra ilk örnekte olduğu gibi müdahaleyi açın.

### Proxylerle birlikte puppeteer-extra gibi gizlilik eklentileri kullanmalı mıyım?

Otomasyonu gizlemeye veya bot tespitini aşmaya yönelik araçları belgelemiyor veya desteklemiyoruz. Bu araçların amacı, otomatik ziyaretçileri filtreleyen site kararını geçmektir; ki bunun bizim [Kabul Edilebilir Kullanım Politikamız](https://crawlrelay.com/tr/acceptable-use/) izin vermemektedir. Kamuya açık sayfaları nazik bir hızda görüntüleyin ve siteler API sağlıyorsa resmi API'leri kullanın.

### Puppeteer, proxy ile hangi Chrome'u kullanır?

Güncel Puppeteer sürümleri, uyumlu bir Chrome for Testing sürümünü indirir ve varsayılan olarak onu kullanır. Proxy bayrakları ve `page.authenticate()`, normal Chrome'daki gibi burada da çalışır. Puppeteer'ı kendi Chrome'unuza `executablePath` ile gösteriyorsanız, o tarayıcı güncel kalmalıdır.

**Puppeteer'ı konut IP’leriyle kullan** $5,94, 50 GB üzerinden 10 GB, $0,50/GB. [Fiyatları gör](https://crawlrelay.com/tr/pricing/) · [Node.js rehberi](https://crawlrelay.com/tr/docs/node/)

---

CrawlRelay: CrawlRelay, kazıyıcılar ve AI veri hatları için geliştirici odaklı dönen konut proxy ve 4G/5G mobil proxy hizmetidir: süresiz, kullanılan kadar ödenen trafik $0,50/GB'dan itibaren, kripto ile ödenir, kimlik yüklemesi yoktur. KYC yok — kimlik, selfie veya belge istemez. Kripto ile ödeyin.
