Integrazioni · Principiante

cURL tramite proxy: tutte le opzioni che contano, con esempi

cURL è il modo più veloce per dimostrare che un proxy funziona e il riferimento che ogni libreria imita. Impara i suoi cinque flag proxy e potrai eseguire il debug di qualsiasi client.

2 minuti di lettura 6 sezioni Verificato Redazione Proxy Cyber

La battuta#

Prima richiesta
curl -x http://USER-cc-us:PASS@res.proxy-cyber.com:9000 https://api.ipify.org

-x (o --proxy) accetta l'URL del proxy con le credenziali incorporate. cURL esegue automaticamente il tunneling delle destinazioni HTTPS con CONNECT e chiede al proxy di risolvere il nome host.

Bandiere che vale la pena conoscere#

BandieraScopo
-x, --URL proxyIl proxy: schema, host, porta, credenziali opzionali
-U, --proxy-utente utente:passCredenziali separate, utili quando la password contiene caratteri speciali
--proxy-basicForza l'autenticazione proxy di base (l'impostazione predefinita quando viene fornita una password)
-vMostra lo scambio CONNECT, i codici di stato del proxy e le intestazioni di risposta
--noproxy '*'Ignora le variabili di ambiente proxy per questa chiamata
-w '%{time_total}\n'Stampa i tempi per confrontare le uscite

SOCKS5 e DNS remoto#

calzini5h
# Hostname resolved at the exit (recommended)
curl -x socks5h://USER-cc-de:PASS@res.proxy-cyber.com:9001 https://api.ipify.org

# Hostname resolved locally, then the IP is sent to the proxy (leaks the lookup)
curl -x socks5://USER-cc-de:PASS@res.proxy-cyber.com:9001 https://api.ipify.org

Variabili d'ambiente#

Strumenti che sborsano a cURL, e molti altri, onore http_proxy, https_proxy e no_proxy. Esportali una volta per una sessione di lavoro.

Conchiglia
export https_proxy="http://USER-cc-us:PASS@res.proxy-cyber.com:9000"
export http_proxy="$https_proxy"
export no_proxy="localhost,127.0.0.1"
curl https://api.ipify.org   # proxied without -x

Leggere un fallimento#

Verboso
curl -v -x http://USER:WRONG@res.proxy-cyber.com:9000 https://api.ipify.org 2>&1 | grep -E "CONNECT|HTTP/1.1 4|HTTP/1.1 5"
# < HTTP/1.1 407 Proxy Authentication Required  -> credentials
# < HTTP/1.1 400 Bad Request                    -> a username parameter is wrong
# < HTTP/1.1 502 Bad Gateway                    -> no exit for that location; widen it

Uno stato sulla linea CONNECT proviene dal gateway; uno stato dopo Connection established proviene dalla destinazione. Il pagina degli errori mappa ogni codice gateway.

Sessioni a rotazione in un ciclo#

Bash
for i in $(seq 1 5); do
  curl -s -x "http://USER-cc-us-sid-run$i-ttl-5m:PASS@res.proxy-cyber.com:9000" https://api.ipify.org
  echo
done   # five different United States exits, each reusable for five minutes under its id

Domande che le persone fanno#

cURL necessita di un flag speciale per HTTPS tramite il proxy?

No. Con un URL proxy http:// cURL emette CONNECT per le destinazioni https:// automaticamente; --proxytunnel è importante solo per forzare un tunnel su HTTP semplice.

La mia password contiene @ o: e cURL fallisce.

Passa le credenziali con -U utente:passa invece di incorporarle nell'URL oppure codifica tramite URL i caratteri speciali.

Il tuo conto

Gestisci i tuoi proxy in un unico account

Confronta reti, effettua ordini e segui il tuo saldo e le richieste di supporto da un'unica dashboard. Il nostro team esamina i pagamenti e fornisce i dettagli di connessione dopo la consegna.

Crea un account