# ABD şehirlerine göre Node.js konut proxy'leri

> ABD şehir proxy'leri için Node.js örnekleri: şehir kullanıcı adıyla undici fetch, şehirler üzerinde bir döngü ve sticky şehir IP'siyle Playwright. Sözdizimi kontrol edildi. KYC yok.

- URL: https://metroproxies.com/tr/docs/node/
- Son güncelleme: 2026-10-18
- Publisher: MetroProxies (https://metroproxies.com)

undici (Node'un fetch'inin arkasındaki kütüphane) ve Playwright ile örnekler, `node --check` ile sözdizimi kontrol edildi.

**Hızlı yanıt — Node.js'te bir ABD şehir proxy'sini nasıl kullanırım?**

`http://gw.metroproxies.com:7777` için `USERNAME-country-us-state-fl-city-orlando` gibi bir şehir kullanıcı adıyla bir undici `ProxyAgent` oluşturun ve `fetch` öğesinin `dispatcher` parametresi olarak geçirin; Playwright aynı değerleri `proxy` seçeneğinde alır. **MetroProxies**, $0,50/GB (Ekim 2026) itibarıyla her planda şehir, posta kodu ve ASN hedeflemesi sunar. KYC yok; kripto.

*1. Bir şehir IP'si üzerinden fetch (city.mjs olarak kaydedin)*

```javascript
import { ProxyAgent, fetch } from 'undici';

const user = 'USERNAME-country-us-state-fl-city-orlando';
const agent = new ProxyAgent({
  uri: 'http://gw.metroproxies.com:7777',
  token: 'Basic ' + Buffer.from(`${user}:PASSWORD`).toString('base64'),
});

const res = await fetch('https://ipinfo.io/json', { dispatcher: agent, signal: AbortSignal.timeout(30000) });
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());
await agent.close();

```

*2. Birkaç şehir, her biri için bir agent (cities.mjs olarak kaydedin)*

```javascript
import { ProxyAgent, fetch } from 'undici';

const cities = [['fl', 'orlando'], ['fl', 'tampa'], ['ga', 'atlanta']];

for (const [state, city] of cities) {
  const user = `USERNAME-country-us-state-${state}-city-${city}`;
  const agent = new ProxyAgent({
    uri: 'http://gw.metroproxies.com:7777',
    token: 'Basic ' + Buffer.from(`${user}:PASSWORD`).toString('base64'),
  });
  try {
    const res = await fetch('https://ipinfo.io/json', { dispatcher: agent, signal: AbortSignal.timeout(30000) });
    if (!res.ok) throw new Error(`HTTP ${res.status}`);
    const info = await res.json();
    console.log(city, '->', info.ip, info.city, info.region);
  } catch (err) {
    console.log(city, 'failed:', err.message);
  } finally {
    await agent.close();
  }
}

```

*3. Sticky şehir IP'siyle Playwright (browser.mjs olarak kaydedin)*

```javascript
import { chromium } from 'playwright';

const browser = await chromium.launch({
  proxy: {
    server: 'http://gw.metroproxies.com:7777',
    username: 'USERNAME-country-us-state-fl-city-miami-session-mia01-ttl-15',
    password: 'PASSWORD',
  },
});
const context = await browser.newContext({ timezoneId: 'America/New_York', locale: 'en-US' });
const page = await context.newPage();
await page.goto('https://ipinfo.io/json', { timeout: 60000 });
console.log(await page.textContent('body'));
await browser.close();

```

## Node.js'te nelere dikkat etmeliyim?

- **Keep-alive:** bir `ProxyAgent` bağlantıları yeniden kullanır, bu nedenle döngülü modda bir bağlantı açık kaldığı sürece aynı çıkış IP'sini korur. Yeni bir IP almak için her şehir için bir agent oluşturun veya onu kapatın.
- **Saat dilimi ve yerel ayar:** Playwright'ın `timezoneId` ve `locale` seçenekleri tarayıcıyı şehirle eşleştirir; her [şehir sayfası](https://metroproxies.com/tr/cities/) IANA dilimini verir (Miami: `America/New_York`).
- **SOCKS5:** Chromium, SOCKS5 proxy'lerine kullanıcı adı göndermez; tarayıcılarda HTTP portunu kullanın.
- **Zaman aşımları:** fetch'te `AbortSignal.timeout()`, Playwright'ta `timeout`.
- **Hız:** her siteye yapılan istekleri ölçülü tutun ve robots.txt ile şartlarına uyun.

## Sırada nereye gitmeliyim?

[Beş dakikalık kurulumla](https://metroproxies.com/tr/docs/quickstart/) başlayın, [Python](https://metroproxies.com/tr/docs/python/) ve [curl](https://metroproxies.com/tr/docs/curl/) örnekleriyle karşılaştırın ve çıkışları [proxy konumu denetleyicisiyle](https://metroproxies.com/tr/guides/verify-proxy-city/) kontrol edin. Tüm dokümanlar: [dokümantasyon](https://metroproxies.com/tr/docs/).

## Node.js hakkında başka neler soruluyor?

### Hangi Node.js sürümüne ihtiyacım var?

`AbortSignal.timeout` için Node.js 18 veya üzeri ve `.mjs` dosyalarında top-level await gerekir. undici'yi `npm install undici` ile, Playwright'ı `npm install playwright` ile kurun.

### Puppeteer da çalışır mı?

Evet: `--proxy-server=http://gw.metroproxies.com:7777` ile başlatın ve ilk gezinmeden önce `page.authenticate({ username, password })` çağırın.

### Bu örnekler gateway'e karşı mı çalıştırıldı?

`node --check` ile sözdizimi kontrolünden geçirildi; USERNAME ve PASSWORD yer tutucudur. Kendi kimlik bilgilerinizle çalıştırın.

---

MetroProxies: MetroProxies, şehir düzeyinde hedefleme sunan ve kimlik yüklemeden kripto ile ödenen bir ABD konut proxy sağlayıcısıdır. Ev IP'leri şehir, eyalet, posta kodu veya ISP ağı bazında talep edilir; 181 ABD şehrinin her biri için yerel veri sayfası bulunur.
