Integraties · Beginner

cURL via een proxy: elke optie die ertoe doet, met voorbeelden

cURL is de snelste manier om een proxy te bewijzen en de referentie die elke bibliotheek imiteert. Leer de vijf proxy-vlaggen en je kunt elke client debuggen.

2 minuten lezen 6 secties Gecontroleerd Redactie Proxy Cyber

De oneliner#

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

-x (of --proxy) neemt de proxy URL met curl tunnels HTTPS bestemmingen met CONNECT automatisch, en vraagt de proxy om de hostnaam op te lossen.

Vlaggen die de moeite waard zijn om te weten#

VlagDoel
-x, --proxy-URLDe proxy: schema, host, poort, optionele referenties
-U, --proxy-gebruiker gebruiker:passGeheimen apart, nuttig wanneer het wachtwoord speciale tekens heeft
--proxy-basisDwing Basic proxy-authenticatie (standaard wanneer een wachtwoord wordt gegeven)
-vDe CONNECT-uitwisseling, proxystatuscodes en de responskoppen tonen
--noproxy '*'Negeer proxy omgevingsvariabelen voor deze oproep
-w '%{tijdtotaal}\n'Print timing om uitgangen te vergelijken

SOCKS5 en externe DNS#

sokken5u
# 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

Omgevingsvariabelen#

Hulpmiddelen die naar CURL shell, en vele anderen, eer http_proxy, https_proxy en no_proxy. Exporteer ze één keer voor een sessie van werk.

Schelp
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

Een mislukking lezen#

Uitgebreid
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

Een status op de CONNECT-regel komt van de gateway; een status na Connection established komt van de bestemming. De foutenpagina brengt elke gatewaycode in kaart.

Roterende sessies in een lus#

Bas
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

Vragen die mensen stellen#

Heeft cURL een speciale vlag nodig voor HTTPS via de proxy?

Nee. Met een http://proxy URL cURL issues CONNECT for https:// destinations automatically; --proxytunnel is alleen belangrijk voor het forceren van een tunnel op gewone HTTP.

Mijn wachtwoord bevat @ of : en cURL mislukt.

Geef de referenties door aan -U gebruiker:pass in plaats van ze in te bedden in de URL, of URL-coderen van de speciale tekens.

Uw rekening

Beheer uw proxy's in één account

Vergelijk netwerken, plaats bestellingen en volg uw saldo en ondersteuningsverzoeken vanaf één dashboard. Ons team beoordeelt betalingen en verstrekt verbindingsgegevens na levering.

Account aanmaken