Senza KYC — niente documento, selfie o altri documenti. Paga in crypto: BTC, USDT, USDC, ETH, SOL, LTC
Lingua: Italiano
Inizia ora

Docs · curl 7.x e 8.x · Linux, macOS, Windows

curl con proxy HTTP e SOCKS5: esempi copia-incolla

curl è il modo più rapido per testare credenziali, targeting e tempi prima di usare il tuo scraper. Ogni comando qui sotto funziona così com'è dopo aver sostituito USERNAME e PASSWORD.

Ultimo aggiornamento: · 4 minuti di lettura

Risposta rapida

Come uso un proxy con curl?

Usa curl -x http://USERNAME:[email protected]:7777 https://api.ipify.org per il proxy HTTP, o --socks5-hostname gw.crawlrelay.com:7778 con -U USERNAME:PASSWORD per SOCKS5. CrawlRelay proxy residenziali prendono il paese e una sessione sticky nell'username, ad esempio USERNAME-country-de-session-t1-ttl-10. A partire da 0,50 USD/GB. Pagati in crypto, senza KYC.

Flag curl necessari

-x / --proxyURL del proxy: http://host:port, credenziali opzionali all'interno
-U / --proxy-userCredenziali proxy come USERNAME:PASSWORD, tenute fuori dall'URL
--socks5-hostnameProxy SOCKS5 con DNS risolto all'uscita
-vMostra lo scambio CONNECT e la linea di stato del proxy
-wStampa i tempi, la dimensione e %{http_connect}, lo stato CONNECT del proxy
--max-time, --connect-timeoutLimiti totali e di connessione, in secondi

Quali sono i comandi base per i proxy?

Ognuno di questi stampa l'IP di uscita che il sito web vede.

Proxy HTTP, rotante, poi mirato e sticky
# Rotating exit, any country
curl -x http://gw.crawlrelay.com:7777 -U USERNAME:PASSWORD https://api.ipify.org

# Country and city (city availability varies)
curl -x http://gw.crawlrelay.com:7777 -U USERNAME-country-us-city-chicago:PASSWORD https://api.ipify.org

# Sticky: run it twice, the IP stays the same for up to 10 minutes (it can change earlier)
curl -x http://gw.crawlrelay.com:7777 -U USERNAME-country-de-session-t1-ttl-10:PASSWORD https://api.ipify.org

# SOCKS5, DNS resolved at the exit
curl --socks5-hostname gw.crawlrelay.com:7778 -U USERNAME-country-gb:PASSWORD https://api.ipify.org

Come faccio a fare il debug di una connessione proxy con curl?

Esegui con -v e leggi le righe intorno a CONNECT. Un tunnel funzionante mostra HTTP/1.1 200 Connection established, poi il handshake TLS con il sito web. Qualsiasi altro stato su quella riga arriva dal proxy: 407 significa credenziali, 502 o 504 indicano problemi all'uscita o al target. Il formato -w qui sotto stampa le stesse informazioni in una riga, comodo per cicli e controlli CI.

CONNECT verboso e rapporto tempi in una riga
# Full exchange, including the proxy's answer to CONNECT
curl -v -x http://gw.crawlrelay.com:7777 -U USERNAME:PASSWORD https://example.com/ -o /dev/null

# One line: proxy CONNECT status, HTTP status, compressed bytes and timings
curl -s --compressed -o /dev/null -x http://gw.crawlrelay.com:7777 -U USERNAME-country-us:PASSWORD \
  -w 'connect=%{http_connect} http=%{http_code} bytes=%{size_download} tcp=%{time_connect}s tls=%{time_appconnect}s ttfb=%{time_starttransfer}s total=%{time_total}s\n' \
  https://example.com/

Come faccio a verificare che la rotazione e le sessioni funzionino?

Richiedi l'IP più volte. Senza un ID sessione, ogni esecuzione è una nuova connessione e solitamente mostra un IP diverso. Con un ID sessione, l'IP dovrebbe rimanere lo stesso fino alla scadenza del TTL, anche se può cambiare prima.

Rotazione vs sticky in un ciclo shell
echo "rotating:"
for i in 1 2 3 4 5; do
  curl -s -x http://gw.crawlrelay.com:7777 -U USERNAME-country-us:PASSWORD https://api.ipify.org; echo
done

echo "sticky:"
for i in 1 2 3 4 5; do
  curl -s -x http://gw.crawlrelay.com:7777 -U USERNAME-country-us-session-loop1-ttl-5:PASSWORD https://api.ipify.org; echo
done

Come uso curl con un proxy su Windows?

Chiama curl.exe, non curl. In Windows PowerShell 5.1, curl è un alias di Invoke-WebRequest, che non supporta -x o -U. Windows 10 e 11 includono il vero curl come curl.exe. In PowerShell, metti tra virgolette gli argomenti con caratteri speciali, e scrivi letteralmente $ in una password racchiusa tra apici singoli.

PowerShell
curl.exe -x http://gw.crawlrelay.com:7777 -U 'USERNAME-country-fr:PASSWORD' https://api.ipify.org

Come imposto il proxy una volta per ogni comando?

curl legge le variabili d'ambiente https_proxy e http_proxy, e molti altri strumenti le leggono. Impostale per la sessione shell, e usa NO_PROXY per gli host che non devono passare dal proxy, come la tua API. Evita di mettere la password in variabili esportate a ogni processo figlio su macchine condivise.

Variabili d'ambiente (bash, zsh)
export https_proxy="http://USERNAME-country-us:[email protected]:7777"
export http_proxy="$https_proxy"
export NO_PROXY="localhost,127.0.0.1,.internal.example"

curl https://api.ipify.org   # now uses the proxy
unset https_proxy http_proxy # back to direct

curl e proxy: domande

Qual è la differenza tra --socks5 e --socks5-hostname?

Con --socks5, curl risolve il nome host localmente e manda l'IP al proxy. Con --socks5-hostname, manda il nome host e il proxy risolve da solo. Usa --socks5-hostname per scraping in modo che la risposta DNS corrisponda al paese di uscita, e così il tuo resolver locale non vede i domini che richiedi.

Perché curl dice 'CONNECT tunnel failed, response 407'?

Il proxy ha respinto le credenziali o non le ha ricevute. Controlla username e password, e codifica URL i caratteri speciali se sono nell'URL -x, oppure passali con -U. La pagina 407 elenca le altre cause.

Come vedo quanti byte costa una pagina passando dal proxy?

Aggiungi --compressed -o /dev/null -w '%{size_download}\n'. --compressed fa sì che curl chieda gzip o brotli come fa il tuo scraper, e %{size_download} conta i byte compressi transitati. Senza questo, il server invia la pagina non compressa e la cifra può essere molto più alta. Provalo su alcune pagine reali per stimare il traffico per 1.000 pagine.

curl può usare HTTP/2 o HTTP/3 attraverso il proxy?

HTTP/2 funziona dentro il tunnel CONNECT quando il sito lo supporta, perché il tunnel porta TLS end to end. HTTP/3 usa UDP, che un tunnel CONNECT via proxy HTTP non trasporta, quindi usa HTTP/2 o HTTP/1.1 tramite il gateway.

Testa i tuoi target da linea di comando

1,50 USD per 1 GB, sufficiente per migliaia di test con curl.

Da 0,50 USD/GB · senza KYC

Inizia ora