HTTP նպատակակետերի համար սահմանեք փոքրատառ http_proxy-ն։ curl-ը միտումնավոր անտեսում է մեծատառ HTTP_PROXY-ն։ POSIX հրամանային միջավայրում՝

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

Այս վերագրումները գործում են միայն անմիջապես հաջորդող հրամանի համար։ Օրինակի լսող հասցեն փոխարինեք ձեր պրոքսիով․ հանրային վերջնակետերը համեմատելու համար թեկնածու ընտրեք HTTP պրոքսիների ցանկից։ https_proxy փոփոխականը ընտրում է HTTPS նպատակակետերի երթուղին․ http:// պարունակող արժեքը դեռ նշանակում է սովորական HTTP պրոքսի, որը կարող է թունել ստեղծել դեպի նպատակակետ։ PowerShell-ը և Windows-ի հրամանային միջավայրերն օգտագործում են վերագրման այլ շարահյուսություն։

Ինչու է վտանգավոր հենց այս մեծատառ գրությունը

CGI միջավայրերը կարող են մուտքային հարցումների վերնագրերը դարձնել մեծատառ HTTP_ փոփոխականներ։ Ուստի Proxy անունով վերնագիրը կարող է դառնալ HTTP_PROXY։ Դրան որպես ելքային կապերի կարգավորում վստահելը հարցման տվյալներին թույլ կտար ընտրել պրոքսին։ curl-ի փոքրատառերի պահանջը խուսափում է այս համապատասխանեցումից․ բացառությունը նույն կերպ չի կիրառվում HTTPS-ի և այլ արձանագրությունների փոփոխականների նկատմամբ։

Եթե փոփոխականը փոխելը չի փոխում երթուղին

Նախ փնտրեք արձանագրությանը հատուկ փոփոխականը, ապա պահուստային ALL_PROXY-ն։ Համապատասխան NO_PROXY կանոնը կարող է շրջանցել պրոքսին։ Փոքրատառ տարբերակներն ու մրցակցող սահմանումները նույնպես կարևոր են։ Unix-ի նման հրամանային միջավայրի այս ցիկլը հայտնում է միայն առկայությունը՝ չտպելով արժեքներ, որոնք կարող են պարունակել մուտքի տվյալներ։

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

Թվարկված սահմանումները ստուգեք տեղային եղանակով։ Եթե որևէ մեկը կրկին հայտնվում է, ստուգեք գործարկող հրամանային միջավայրի, ծառայության, IDE-ի, կոնտեյների կամ CI-ի կարգավորումները։ Առկայությունը նշում է հնարավոր մուտքերը, ոչ թե այն, թե որ արժեքն է գերակայել։

Մեկ հարցումն այս պրոքսի ընտրություններից մեկուսացնելու համար նշեք և՛ վերջնակետը, և՛ դատարկ շրջանցման ցանկը։

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

Ուղիղ կապով համեմատության համար, եթե այն թույլատրված է՝

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

Այս հրամանները օգնում են ժառանգված երթուղին տարբերել կապի խափանումից։ Միջավայրի այլ կարգավորումներ փոխելուց առաջ փուլ առ փուլ կարդացեք պրոքսիի փորձարկման արդյունքները։ curl-ի փոփոխականների կանոնները կիրառեք curl-ի նկատմամբ․ հավելվածի սեփական գործարկման միջավայրը կարող է պրոքսիները հայտնաբերել և համադրել այլ կերպ։

Առնչվող հոդվածներ