Kāpēc curl ignorē HTTP_PROXY
Apzinātais curl izņēmums HTTP_PROXY mainīgajam, protokolu mainīgie, ALL_PROXY un paredzama starpniekservera pārbaude ar vides mainīgajiem.
HTTP galamērķiem iestatiet http_proxy ar mazajiem burtiem. curl apzināti ignorē HTTP_PROXY ar lielajiem burtiem. POSIX čaulā:
http_proxy=http://127.0.0.1:8080 curl http://example.com/
https_proxy=http://127.0.0.1:8080 curl https://example.com/Šie piešķīrumi attiecas tikai uz komandu, kas tūlīt seko. Aizstājiet piemēra klausīšanās adresi ar savu starpniekserveri; publisku galapunktu salīdzināšanai izvēlieties kandidātu no HTTP starpniekserveru saraksta. Mainīgais https_proxy izvēlas maršrutu HTTPS galamērķiem; vērtība ar http:// joprojām nozīmē parastu HTTP starpniekserveri, kas spēj izveidot tuneli līdz galamērķim. PowerShell un Windows komandu čaulās piešķiršanas sintakse ir citāda.
Kāpēc bīstams ir tieši šis pieraksts ar lielajiem burtiem
CGI vides var pārvērst ienākošo pieprasījumu galvenes par HTTP_ mainīgajiem ar lielajiem burtiem. Tādēļ galvene ar nosaukumu Proxy var kļūt par HTTP_PROXY. Uzticoties tai kā izejošo savienojumu konfigurācijai, pieprasījuma dati varētu izvēlēties starpniekserveri. curl prasība izmantot mazos burtus novērš šo atbilstību; HTTPS un citu protokolu mainīgajiem izņēmums nedarbojas tieši tāpat.
Ja mainīgā maiņa nemaina maršrutu
Vispirms meklējiet protokolam specifisku mainīgo, pēc tam rezerves variantu ALL_PROXY. Atbilstošs NO_PROXY noteikums var apiet starpniekserveri. Svarīgi ir arī varianti ar mazajiem burtiem un konkurējošas definīcijas. Šis Unix tipa čaulas cikls ziņo par esamību, neizdrukājot vērtības, kurās var būt akreditācijas dati:
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
donePārbaudiet uzskaitītās definīcijas lokāli. Ja kāda parādās atkal, pārbaudiet palaišanas čaulas, pakalpojuma, IDE, konteinera vai CI konfigurāciju. Esamība norāda uz iespējamām ievadēm, nevis pasaka, kura vērtība guvusi priekšroku.
Lai vienu pieprasījumu nošķirtu no šīm starpniekservera izvēlēm, norādiet gan galapunktu, gan tukšu apiešanas sarakstu:
curl --proxy http://127.0.0.1:8080 --noproxy '' --connect-timeout 5 --max-time 15 --verbose https://example.com/Tieša savienojuma salīdzinājumam, ja tas ir atļauts:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/Šīs komandas palīdz atšķirt mantotu maršrutu no savienojamības kļūmes. Izlasiet starpniekservera pārbaudes rezultātus pa posmiem, pirms maināt citus vides iestatījumus. curl mainīgo noteikumus piemērojiet curl; pašas lietotnes izpildvide var atrast un apvienot starpniekserverus citādi.