Aseta HTTP-kohteita varten pienaakkosinen http_proxy. curl ohittaa tarkoituksella suuraakkosisen HTTP_PROXY-muuttujan. POSIX-komentotulkissa:

http_proxy=http://127.0.0.1:8080 curl http://example.com/
https_proxy=http://127.0.0.1:8080 curl https://example.com/

Nämä sijoitukset koskevat vain heti seuraavaa komentoa. Korvaa esimerkin kuunteleva päätepiste omalla välityspalvelimellasi; julkisten päätepisteiden vertailuun voit valita ehdokkaan HTTP-välityspalvelinluettelosta. Muuttuja https_proxy valitsee reitin HTTPS-kohteisiin; http://-alkuinen arvo tarkoittaa edelleen tavallista HTTP-välityspalvelinta, joka voi muodostaa tunnelin kohteeseen. PowerShell ja Windowsin komentotulkit käyttävät erilaista sijoitussyntaksia.

Miksi juuri tämä suuraakkosinen kirjoitusasu on vaarallinen

CGI-ympäristöt voivat muuntaa saapuvien pyyntöjen otsakkeet suuraakkosisiksi HTTP_-muuttujiksi. Siksi Proxy-nimisestä otsakkeesta voi tulla HTTP_PROXY. Sen luottaminen lähtevien yhteyksien asetukseksi antaisi pyyntödatan valita välityspalvelimen. curlin pienaakkosvaatimus välttää tämän muunnoksen; poikkeus ei koske HTTPS:n ja muiden protokollien muuttujia täsmälleen samalla tavalla.

Jos muuttujan muuttaminen ei muuta reittiä

Etsi ensin protokollakohtainen muuttuja ja sitten varavaihtoehto ALL_PROXY. Vastaava NO_PROXY-sääntö voi ohittaa välityspalvelimen. Myös pienaakkosiset vaihtoehdot ja kilpailevat määritykset vaikuttavat. Tämä Unix-tyyppisen komentotulkin silmukka ilmoittaa vain olemassaolosta tulostamatta arvoja, joissa voi olla tunnistetietoja:

for name in http_proxy HTTP_PROXY https_proxy HTTPS_PROXY all_proxy ALL_PROXY no_proxy NO_PROXY; do
  if printenv "$name" >/dev/null; then
    printf '%s is set\n' "$name"
  fi
done

Tutki luetellut määritykset paikallisesti. Jos jokin ilmestyy uudelleen, tarkista käynnistävän komentotulkin, palvelun, IDE:n, kontin tai CI:n asetukset. Olemassaolo kertoo mahdollisista syötteistä, ei siitä, mikä arvo sai etusijan.

Eristä yksittäinen pyyntö näistä välityspalvelinvalinnoista määrittämällä sekä päätepiste että tyhjä ohitusluettelo:

curl --proxy http://127.0.0.1:8080 --noproxy '' --connect-timeout 5 --max-time 15 --verbose https://example.com/

Kun suora yhteys on sallittu, voit verrata näin:

curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/

Nämä komennot auttavat erottamaan perityn reitin yhteysviasta. Lue välityspalvelintestin tulokset vaihe vaiheelta ennen kuin muutat lisää ympäristöasetuksia. Sovella curlin muuttujasääntöjä curliin; sovelluksen oma ajoympäristö voi löytää ja yhdistellä välityspalvelimia eri tavalla.

Aiheeseen liittyvät artikkelit