La battuta#
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#
| Bandiera | Scopo |
|---|---|
| -x, --URL proxy | Il proxy: schema, host, porta, credenziali opzionali |
| -U, --proxy-utente utente:pass | Credenziali separate, utili quando la password contiene caratteri speciali |
| --proxy-basic | Forza l'autenticazione proxy di base (l'impostazione predefinita quando viene fornita una password) |
| -v | Mostra 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#
# 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.orgVariabili 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.
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 -xLeggere un fallimento#
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 itUno 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#
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 idDomande 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.