Miks curl eirab muutujat HTTP_PROXY
curl-i teadlik HTTP_PROXY erand, protokollipõhised muutujad, ALL_PROXY ja ennustatav puhverserveri test keskkonnamuutujatega.
HTTP sihtkohtade jaoks määra väiketähtedega http_proxy. curl eirab teadlikult suurtähtedega HTTP_PROXY. POSIX-i kestas:
http_proxy=http://127.0.0.1:8080 curl http://example.com/
https_proxy=http://127.0.0.1:8080 curl https://example.com/Need omistamised kehtivad ainult vahetult järgnevale käsule. Asenda näites olev kuulamisaadress oma puhverserveriga; avalike lõpp-punktide võrdlemiseks vali kandidaat HTTP-puhverserverite loendist. Muutuja https_proxy valib tee HTTPS-sihtkohtadeni; väärtus algusega http:// tähendab endiselt tavalist HTTP-puhverserverit, mis saab luua tunneli sihtkohta. PowerShell ja Windowsi käsukestad kasutavad teistsugust omistamissüntaksit.
Miks just see suurtähtedega kirjapilt on ohtlik
CGI-keskkonnad võivad teisendada saabuvate päringute päised suurtähtedega HTTP_-muutujateks. Seetõttu võib päisest nimega Proxy saada HTTP_PROXY. Selle usaldamine väljuvate ühenduste seadistusena lubaks päringu andmetel puhverserveri valida. curl-i väiketähtede nõue väldib seda vastendust; HTTPS-i ja teiste protokollimuutujate puhul ei kehti erand täpselt samamoodi.
Kui muutuja muutmine ei muuda ühenduse teed
Otsi esmalt protokollipõhist muutujat ja seejärel varuvalikut ALL_PROXY. Sobiv NO_PROXY reegel võib puhverserverist mööda minna. Tähtsad on ka väiketähtedega variandid ja konkureerivad määratlused. See Unixi-laadse kesta tsükkel näitab olemasolu ilma võimalikke autentimisandmeid sisaldavaid väärtusi väljastamata:
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
doneVaata loetletud määratlused kohapeal üle. Kui mõni tekib uuesti, kontrolli käivitava kesta, teenuse, IDE, konteineri või CI seadistust. Olemasolu näitab võimalikke sisendeid, kuid mitte seda, milline väärtus peale jäi.
Ühe päringu eraldamiseks neist puhverserverivalikutest määra nii lõpp-punkt kui ka tühi möödapääsuloend:
curl --proxy http://127.0.0.1:8080 --noproxy '' --connect-timeout 5 --max-time 15 --verbose https://example.com/Lubatud otseühenduse võrdluseks:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/Need käsud aitavad eristada päritud ühendusteed ühenduse tõrkest. Loe puhverserveri testi tulemusi etappide kaupa enne muude keskkonnaseadete muutmist. Rakenda curl-i muutujareegleid curl-ile; rakenduse enda käituskeskkond võib puhverservereid teisiti tuvastada ja ühendada.