curl HTTP_PROXY कडे दुर्लक्ष का करते
curl चा जाणीवपूर्वक ठेवलेला HTTP_PROXY अपवाद, प्रोटोकॉलनुसार चल, ALL_PROXY आणि पर्यावरणावर आधारित प्रॉक्सी चाचणी पूर्वानुमानयोग्य करण्याची पद्धत समजून घ्या.
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 साठी वापरा; अनुप्रयोगाचे स्वतःचे रनटाइम प्रॉक्सी वेगळ्या प्रकारे शोधू आणि एकत्र करू शकते.