curl niyə HTTP_PROXY dəyişənini nəzərə almır
curl-un HTTP_PROXY üçün qəsdən tətbiq etdiyi istisnanı, protokola aid dəyişənləri, ALL_PROXY və mühit dəyişənləri ilə proksi sınağını öyrənin.
HTTP hədəfləri üçün kiçik hərflərlə yazılan http_proxy dəyişənini təyin edin. curl böyük hərflərlə yazılan HTTP_PROXY dəyişənini qəsdən nəzərə almır. POSIX qabığında:
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 təyinatlar yalnız dərhal sonra gələn əmrə aiddir. Nümunədəki dinləyici ünvanını öz proksinizlə əvəz edin; açıq son nöqtələri müqayisə etmək üçün HTTP proksi siyahısından namizəd seçin. https_proxy dəyişəni HTTPS hədəflərinə marşrut seçir; http:// dəyəri yenə də hədəfə tunel qura bilən adi HTTP proksisini bildirir. PowerShell və Windows əmr qabıqlarında təyinat sintaksisi fərqlidir.
Məhz bu böyük hərfli yazılış niyə təhlükəlidir
CGI mühitləri daxil olan sorğu başlıqlarını böyük hərfli HTTP_ dəyişənlərinə çevirə bilər. Buna görə Proxy adlı başlıq HTTP_PROXY ola bilər. Ona çıxış bağlantılarının konfiqurasiyası kimi etibar etmək sorğu məlumatlarına proksi seçmək imkanı verərdi. curl-un kiçik hərf tələbi bu uyğunlaşdırmadan yayınır; istisna HTTPS və digər protokol dəyişənlərinə eyni şəkildə tətbiq edilmir.
Dəyişəni dəyişmək marşrutu dəyişmirsə
Əvvəl protokola məxsus dəyişəni, sonra ehtiyat ALL_PROXY dəyişənini axtarın. Uyğun NO_PROXY qaydası proksidən yan keçə bilər. Kiçik hərfli variantlar və bir-biri ilə rəqabət aparan təriflər də əhəmiyyətlidir. Unix tipli qabıq üçün bu dövr giriş məlumatları ola biləcək dəyərləri çap etmədən yalnız mövcudluğu göstərir:
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
doneSadalanan tərifləri yerli olaraq yoxlayın. Biri yenidən yaranırsa, prosesi başladan qabığın, xidmətin, IDE-nin, konteynerin və ya CI-nin konfiqurasiyasını yoxlayın. Mövcudluq mümkün girişləri göstərir; hansı dəyərin üstün gəldiyini göstərmir.
Bir sorğunu bu proksi seçimlərindən təcrid etmək üçün həm son nöqtəni, həm də boş yan keçmə siyahısını verin:
curl --proxy http://127.0.0.1:8080 --noproxy '' --connect-timeout 5 --max-time 15 --verbose https://example.com/Birbaşa bağlantıya icazə verilirsə, müqayisə üçün:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/Bu əmrlər miras alınmış marşrutu bağlantı nasazlığından ayırmağa kömək edir. Daha çox mühit parametrini dəyişməzdən əvvəl proksi sınağının nəticələrini mərhələ-mərhələ oxuyun. curl-un dəyişən qaydalarını curl-a tətbiq edin; tətbiqin öz icra mühiti proksiləri başqa cür aşkar edib birləşdirə bilər.