Risposta rapida
Come si usa un proxy datacenter nel codice?
Questi esempi di codice proxy passano un URL http://USERNAME:PASSWORD@IP:PORT al tuo client: -x in curl, proxies= in Python requests, un ProxyAgent in Node.js, un'opzione proxy in Playwright. SOCKS5 usa socks5h://. Gli IP RackProxies supportano HTTP, HTTPS (CONNECT) e SOCKS5, da 1,29 USD per IPv4 dedicato per 30 giorni. Senza KYC, solo crypto.
Quale snippet mi serve?
| Client | Proxy HTTP | Proxy SOCKS5 | Pacchetto extra |
|---|---|---|---|
| curl | -x http://… | -x socks5h://… | Nessuno |
| Python requests | proxies={…} | URL socks5h:// | requests[socks] per SOCKS5 |
| Python aiohttp | proxy= e proxy_auth= | Non integrato | aiohttp-socks per SOCKS5 |
| Node.js fetch | undici ProxyAgent | Non integrato | undici |
| Node.js https | https-proxy-agent | socks-proxy-agent | Uno dei due |
| Playwright | proxy: { server, username, password } | Usa HTTP o la allowlist | playwright |
Come si usa il proxy con curl?
Passa l'URL del proxy con -x. curl gestisce da solo il tunnel CONNECT per i target https://. Tutti gli snippet in questa pagina usano l'indirizzo di documentazione 203.0.113.24; la pagina formato di connessione mostra come costruire l'URL dalla tua linea.
# HTTP proxy, HTTPS target (CONNECT tunnel)
curl -x http://USERNAME:[email protected]:8000 https://api.ipify.org
# SOCKS5, hostname resolved by the proxy
curl -x socks5h://USERNAME:[email protected]:8000 https://api.ipify.org
# Login passed separately (no URL-encoding needed)
curl -x http://203.0.113.24:8000 -U 'USERNAME:PASSWORD' https://httpbin.org/ip
# IP allowlist: no login
curl -x http://203.0.113.24:8000 https://api.ipify.org
# Show the proxy handshake and the timings
curl -v -s -o /dev/null -w '%{time_connect} %{time_appconnect} %{time_total}\n' \
-x http://USERNAME:[email protected]:8000 https://example.comCome si usa il proxy con Python requests?
Passa a requests un dizionario proxies con lo stesso URL per http e https. La chiave https è quella usata per i target https://; il suo valore inizia comunque con http:// perché descrive la connessione al proxy. requests solleva ProxyError quando il proxy rifiuta la connessione o il login.
import requests # pip install requests
# From the line 203.0.113.24:8000:USERNAME:PASSWORD in your account
proxy = 'http://USERNAME:[email protected]:8000'
proxies = {'http': proxy, 'https': proxy}
try:
response = requests.get('https://api.ipify.org', proxies=proxies, timeout=20)
response.raise_for_status()
print('Exit IP:', response.text)
except requests.exceptions.ProxyError as error:
print('Proxy problem (credentials, port or allowlist):', error)
except requests.exceptions.Timeout:
print('No answer within 20 seconds')import requests # pip install "requests[socks]"
# socks5h: the proxy resolves the hostname. Use the SOCKS5 port shown in your account.
proxy = 'socks5h://USERNAME:[email protected]:8000'
proxies = {'http': proxy, 'https': proxy}
response = requests.get('https://httpbin.org/ip', proxies=proxies, timeout=20)
print(response.json()) # {'origin': '203.0.113.24'}import requests
# A Session reuses connections: faster for many requests through the same IP.
session = requests.Session()
session.proxies.update({
'http': 'http://USERNAME:[email protected]:8000',
'https': 'http://USERNAME:[email protected]:8000',
})
session.headers['User-Agent'] = 'my-monitor/1.0 (contact: [email protected])'
for url in ['https://example.com', 'https://httpbin.org/ip']:
response = session.get(url, timeout=20)
print(url, response.status_code, len(response.content), 'bytes')Imposta un User-Agent che indichi il tuo strumento e un contatto, come nell'esempio della sessione: così i proprietari dei siti possono contattarti invece di bloccarti. requests legge anche le variabili d'ambiente HTTP_PROXY e HTTPS_PROXY quando non viene fornito l'argomento proxies.
Come uso il proxy con Python aiohttp?
aiohttp accetta il proxy per singola richiesta: proxy= per l'indirizzo e proxy_auth= per il login. Supporta i proxy HTTP, incluso CONNECT per i target https://. Per SOCKS5 serve il pacchetto separato aiohttp-socks.
import asyncio
import aiohttp # pip install aiohttp (HTTP proxies; SOCKS needs the aiohttp-socks package)
PROXY = 'http://203.0.113.24:8000'
AUTH = aiohttp.BasicAuth('USERNAME', 'PASSWORD')
async def main():
timeout = aiohttp.ClientTimeout(total=20)
async with aiohttp.ClientSession(timeout=timeout) as session:
async with session.get('https://httpbin.org/ip', proxy=PROXY, proxy_auth=AUTH) as response:
print(await response.json())
asyncio.run(main())Come uso il proxy con Node.js?
Il modulo fetch integrato di Node non accetta un argomento proxy, quindi usa il pacchetto undici e il suo ProxyAgent come dispatcher. Per il classico modulo https, usa https-proxy-agent per i proxy HTTP e socks-proxy-agent per SOCKS5. Entrambi gli snippet sono moduli ES: salvali come file .mjs.
// npm install undici
import { ProxyAgent, fetch } from 'undici';
const dispatcher = new ProxyAgent({
uri: 'http://203.0.113.24:8000',
token: `Basic ${Buffer.from('USERNAME:PASSWORD').toString('base64')}`,
});
const response = await fetch('https://api.ipify.org', { dispatcher });
console.log('Exit IP:', await response.text());// npm install https-proxy-agent socks-proxy-agent
import https from 'node:https';
import { HttpsProxyAgent } from 'https-proxy-agent';
import { SocksProxyAgent } from 'socks-proxy-agent';
const httpAgent = new HttpsProxyAgent('http://USERNAME:[email protected]:8000');
// Use the SOCKS5 port shown in your account; socks5h lets the proxy resolve DNS.
const socksAgent = new SocksProxyAgent('socks5h://USERNAME:[email protected]:8000');
for (const agent of [httpAgent, socksAgent]) {
https.get('https://api.ipify.org', { agent }, (res) => {
res.setEncoding('utf8');
res.on('data', (chunk) => console.log('Exit IP:', chunk));
}).on('error', (err) => console.error('Proxy error:', err.message));
}Come uso il proxy con Playwright?
Passa un oggetto proxy a chromium.launch() con il server e, separatamente, username e password. Usa il formato HTTP: il client SOCKS5 integrato in Chromium storicamente non ha supportato l'autenticazione con username e password per i proxy SOCKS5. Con la lista di IP consentiti, ometti username e password.
// npm install playwright && npx playwright install chromium
import { chromium } from 'playwright';
const browser = await chromium.launch({
proxy: { server: 'http://203.0.113.24:8000', username: 'USERNAME', password: 'PASSWORD' },
});
const page = await browser.newPage();
await page.goto('https://api.ipify.org');
console.log('Exit IP:', await page.textContent('body'));
await browser.close();Usa i browser tramite un proxy per il QA dei tuoi siti, verifiche di annunci e localizzazione e lavori leciti simili. Ricorda che il proxy cambia solo l'IP: la lingua e il fuso orario del browser restano quelli della tua macchina a meno che tu non li imposti nel contesto del browser.
Come misuro la latenza attraverso un proxy?
Cronometra alcune richieste complete e tieni la mediana. Lo snippet Python qui sotto invia cinque richieste a https://example.com attraverso un solo IP. Eseguilo tramite IP in diverse città con datacenter per confrontarli; la guida alle città spiega il limite fisico per ogni distanza.
import statistics
import time
import requests
proxy = 'http://USERNAME:[email protected]:8000'
timings = []
for _ in range(5):
start = time.perf_counter()
requests.get('https://example.com', proxies={'http': proxy, 'https': proxy}, timeout=20)
timings.append((time.perf_counter() - start) * 1000)
print(f'median {statistics.median(timings):.0f} ms over {len(timings)} requests')Come uso un'intera lista di IP?
Carica il tuo export TXT, converti ogni riga in un URL e scegli un IP per richiesta: a rotazione tra i siti, oppure lo stesso IP per lo stesso sito. La guida rotating vs static ha un esempio completo, e la pagina del formato di connessione ha un convertitore per l'intera lista. Rispetta il ritmo di ogni sito qualunque sia la dimensione della tua lista: più IP non aumentano il limite di un sito.
Domande sugli esempi di codice
Perché uso http:// per il proxy quando il sito è https://?
Lo schema dell'URL del proxy descrive la tua connessione al proxy, non al sito web. Il tuo client si connette al proxy tramite TCP semplice, gli chiede di aprire un tunnel CONNECT, poi esegue TLS con il sito web al suo interno. Il contenuto della pagina resta cifrato end-to-end; solo il login del proxy viaggia in forma leggibile.
La mia password ha caratteri speciali. Cosa cambia?
In forma URL, codifica la password con urllib.parse.quote(password, safe='') in Python o encodeURIComponent(password) in JavaScript. I client che accettano il login separatamente, come BasicAuth di aiohttp, username e password di Playwright, o -U di curl, non richiedono codifica. La pagina del formato di connessione elenca i caratteri.
Perché requests dice che mancano le dipendenze per il supporto SOCKS?
Il supporto SOCKS di requests risiede in un extra opzionale. Installalo con pip install "requests[socks]", che aggiunge PySocks, e usa un URL socks5h:// così il proxy risolve i nomi host. I proxy HTTP funzionano senza alcun pacchetto extra, quindi puoi anche cambiare l'URL in http:// e mantenere invariate le tue dipendenze.
Posso eseguire molte richieste in parallelo attraverso un solo IP?
Sì, entro il fair use; non pubblichiamo un limite di connessioni per IP. Mantieni un parallelismo ragionevole per la tua stabilità e rispetta il ritmo di ogni sito: le richieste parallele allo stesso sito contano comunque contro i suoi limiti. Fatturato per IP per 30 giorni, non per GB, con una politica di fair use.
Quale URL di test dovrebbe chiamare prima il mio codice?
Chiama https://api.ipify.org o https://httpbin.org/ip: ognuno restituisce l'IP che vede, così puoi confermare che il traffico esce dal tuo proxy. Poi chiama il tuo target reale. Se l'URL di test funziona e il target no, il problema è tra il proxy e il target, non nel tuo codice.
Mi serve un documento d'identità per ottenere i proxy per questi esempi?
No. Nessun KYC: nessun documento, nessun selfie, nessun documento da firmare per registrarti, ricaricare o acquistare. Ricarica in BTC, USDT, USDC, ETH, SOL, LTC, acquista un piano da 1,29 USD e copia le righe dal tuo account negli snippet. Vedi prezzi per ogni dimensione del piano.
Esegui gli esempi con il tuo IP
1 IP per 1,29 USD, HTTP e SOCKS5 inclusi. Senza KYC, pagamento in crypto.
Riferimenti (6)
- man page di curl — curl project (2026-10-19)
- Requests: Proxy e SOCKS — Requests (2026-10-19)
- aiohttp: Supporto proxy — aiohttp (2026-10-19)
- undici: ProxyAgent — Node.js (2026-10-19)
- proxy-agents (https-proxy-agent, socks-proxy-agent) — GitHub (2026-10-19)
- Playwright: proxy HTTP — Playwright (2026-10-19)