Nega curl HTTP_PROXY o‘zgaruvchisini e’tiborsiz qoldiradi
curl’ning HTTP_PROXY uchun ataylab kiritilgan istisnosi, protokol o‘zgaruvchilari, ALL_PROXY va muhit orqali oldindan tushunarli proksi sinovi.
HTTP manzillari uchun kichik harflardagi http_proxy o‘zgaruvchisini belgilang. curl katta harflardagi HTTP_PROXY o‘zgaruvchisini ataylab e’tiborsiz qoldiradi. POSIX qobig‘ida:
http_proxy=http://127.0.0.1:8080 curl http://example.com/
https_proxy=http://127.0.0.1:8080 curl https://example.com/Bu qiymat tayinlashlar faqat ulardan keyin kelgan buyruqqa taalluqli. Misoldagi tinglash manzilini o‘z proksingiz bilan almashtiring; ochiq oxirgi nuqtalarni taqqoslash uchun HTTP proksi ro‘yxatidan nomzod tanlang. https_proxy o‘zgaruvchisi HTTPS manzillari uchun yo‘l tanlaydi; http:// qatnashgan qiymat baribir manzilgacha tunnel yarata oladigan oddiy HTTP proksini bildiradi. PowerShell va Windows buyruq qobiqlari boshqa qiymat tayinlash sintaksisidan foydalanadi.
Aynan shu katta harfli yozuv nega xavfli
CGI muhitlari kiruvchi so‘rov sarlavhalarini katta harfli HTTP_ o‘zgaruvchilariga aylantirishi mumkin. Shu sababli Proxy nomli sarlavha HTTP_PROXY bo‘lishi mumkin. Uni chiquvchi ulanish sozlamasi deb ishonchli qabul qilish so‘rov ma’lumotlariga proksi tanlash imkonini berardi. curl’ning kichik harf talabi bu moslashdan saqlaydi; istisno HTTPS va boshqa protokol o‘zgaruvchilariga aynan bir xil qo‘llanmaydi.
O‘zgaruvchini almashtirish yo‘lni o‘zgartirmasa
Avval protokolga xos o‘zgaruvchini, keyin zaxira ALL_PROXY o‘zgaruvchisini izlang. Mos keladigan NO_PROXY qoidasi proksini chetlab o‘tishi mumkin. Kichik harfli variantlar va raqobatlashuvchi ta’riflar ham muhim. Unix-simon qobiq uchun bu sikl kirish ma’lumotlari bo‘lishi mumkin bo‘lgan qiymatlarni chiqarmay, faqat mavjudligini bildiradi:
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
doneRo‘yxatdagi ta’riflarni mahalliy tekshiring. Biri qayta paydo bo‘lsa, ishga tushiruvchi qobiq, xizmat, IDE, konteyner yoki CI sozlamalarini tekshiring. Mavjudlik ehtimoliy kirishlarni ko‘rsatadi, qaysi qiymat ustun kelganini emas.
Bitta so‘rovni ushbu proksi tanlovlaridan ajratish uchun oxirgi nuqtani ham, bo‘sh chetlab o‘tish ro‘yxatini ham bering:
curl --proxy http://127.0.0.1:8080 --noproxy '' --connect-timeout 5 --max-time 15 --verbose https://example.com/To‘g‘ridan-to‘g‘ri ulanishga ruxsat bo‘lsa, taqqoslash uchun:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/Bu buyruqlar meros qolgan yo‘lni ulanish nosozligidan ajratishga yordam beradi. Muhitning boshqa sozlamalarini o‘zgartirishdan oldin proksi sinovi natijalarini bosqichma-bosqich o‘qing. curl o‘zgaruvchilarining qoidalarini curl’ga qo‘llang; ilovaning o‘z bajarilish muhiti proksilarni boshqacha aniqlab, birlashtirishi mumkin.