Senza KYC — nessun documento d'identità, nessun selfie, nessun documento · Targeting per città, stato e CAP su tutti i piani
Lingua: Italiano
Inizia

Documentazione · Node.js 18+

proxy residenziali Node.js per città statunitensi

Esempi con undici (la libreria dietro il fetch di Node) e Playwright, con controllo sintattico tramite node --check.

Ultimo aggiornamento:

Risposta rapida

Come uso un proxy di città statunitense in Node.js?

Crea un ProxyAgent undici per http://gw.metroproxies.com:7777 con un username di città come USERNAME-country-us-state-fl-city-orlando, e passalo come dispatcher di fetch; Playwright accetta gli stessi valori nella sua opzione proxy. MetroProxies include il targeting per città, ZIP e ASN su ogni piano da 0,50 USD/GB (ottobre 2026). Senza KYC; crypto.

1. fetch attraverso un IP di città (salva come city.mjs)
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. Più città, un agent ciascuna (salva come cities.mjs)
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. Playwright con un IP di città sticky (salva come browser.mjs)
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();

A cosa devo fare attenzione in Node.js?

  • Keep-alive: un ProxyAgent riutilizza le connessioni, quindi in modalità rotating mantiene lo stesso IP di uscita finché una connessione resta aperta. Crea un agent per città, oppure chiudilo, per ottenere un nuovo IP.
  • Fuso orario e locale: le opzioni timezoneId e locale di Playwright fanno corrispondere il browser alla città; ogni pagina di città indica il suo fuso IANA (Miami: America/New_York).
  • SOCKS5: Chromium non invia un username ai proxy SOCKS5; nei browser usa la porta HTTP.
  • Timeout: AbortSignal.timeout() in fetch, timeout in Playwright.
  • Frequenza: mantieni le richieste a ciascun sito moderate e rispetta il suo robots.txt e i suoi termini.

Dove dovrei andare dopo?

Inizia dalla configurazione in cinque minuti, confronta con gli esempi Python e curl, e verifica le uscite con il verificatore di posizione del proxy. Tutta la documentazione: documentazione.

Cos'altro si chiede su Node.js?

Quale versione di Node.js mi serve?

Node.js 18 o successivo per AbortSignal.timeout e top-level await nei file .mjs. Installa undici con npm install undici e Playwright con npm install playwright.

Funziona anche Puppeteer?

Sì: avvia con --proxy-server=http://gw.metroproxies.com:7777 e chiama page.authenticate({ username, password }) prima della prima navigazione.

Questi esempi sono stati eseguiti tramite il gateway?

Vengono verificati sintatticamente con node --check, con USERNAME e PASSWORD come segnaposto. Eseguili con le tue credenziali.

1 GB 1,50 USD · senza KYC

Inizia