मैं कर्ल को प्रॉक्सी को कैसे अनदेखा कर सकता हूं? $ NO_PROXY सेट करना मेरे लिए काम नहीं करता है।
मैं कर्ल को प्रॉक्सी को कैसे अनदेखा कर सकता हूं? $ NO_PROXY सेट करना मेरे लिए काम नहीं करता है।
जवाबों:
मुझे लगता है कि कर्ल पर्यावरण चर से छद्म पता पढ़ रहा है http_proxy
और चर को अपना मूल्य रखना चाहिए। फिर बैश जैसे शेल में, export http_proxy='';
कमांड से पहले (या शेल स्क्रिप्ट में) अस्थायी रूप से अपना मूल्य बदल देगा।
( ENVIRONMENT
शीर्ष के नीचे, इसके सभी चरों के लिए कर्ल का मैनुअल देखें ।)
unset http_proxy
ftp_proxy
। मुझे लगता है, यहाँ एक पूरी सूची wiki.archlinux.org/index.php/proxy_settings है ।
यदि आपका curl
कम से कम संस्करण है 7.19.4
, तो आप --noproxy
ध्वज का उपयोग कर सकते हैं ।
curl --noproxy "*" http://www.stackoverflow.com
से मैनुअल ।
--noproxy
पुराने कर्ल संस्करणों के लिए विकल्प उपलब्ध नहीं है (जैसे कि जो Centos / RHEL 5.x पर उपयोग किए जाते हैं)
--noproxy 127.0.0.1
था कि अगर stackoverflow.com लोकलहोस्ट पर चल रहा हो।
मैं उसी समस्या में भाग गया क्योंकि मैंने http_proxy और https_proxy पर्यावरण चर निर्धारित किए। लेकिन कभी-कभी, मैं एक अलग नेटवर्क से जुड़ता हूं और अस्थायी रूप से प्रॉक्सी को बायपास करने की आवश्यकता होती है। ऐसा करने का सबसे आसान तरीका (पर्यावरण चर को बदले बिना) है:
curl --noproxy '*' stackoverflow.com
मैनुअल से: "केवल वाइल्डकार्ड एक एकल * चरित्र है, जो सभी होस्ट से मेल खाता है, और प्रभावी रूप से प्रॉक्सी को निष्क्रिय करता है।"
* चरित्र उद्धृत किया गया है ताकि यह शेल द्वारा गलत तरीके से विस्तारित न हो।
curl --noproxy "*" stackoverflow.com
यह ठीक काम करता है, प्रॉक्सी स्ट्रिंग को "" सेट करें
curl -x "" http://www.stackoverflow.com
अपनी प्रॉक्सी वरीयताओं को .curlrc में जोड़ें
proxy = 1.2.3.4
noproxy = .dev,localhost,127.0.0.1
इससे सभी देव डोमेन और स्थानीय मशीन अनुरोध प्रॉक्सी को अनदेखा कर देते हैं।
.
।
लंबे शॉट लेकिन "" (खाली स्ट्रिंग) के लिए प्रॉक्सी सेट करने का प्रयास करें जो मैन पेज के अनुसार किसी भी प्रॉक्सी सेटिंग्स को ओवरराइड करना चाहिए।
आपको $no_proxy
env variable (लोअर-केस) का उपयोग करना चाहिए । उदाहरणों के लिए कृपया https://wiki.archlinux.org/index.php/proxy_settings से परामर्श लें ।
इसके अलावा, लंबे समय पहले कर्ल पर एक बग था http://sourceforge.net/p/curl/bugs/185/ , शायद आप एक प्राचीन कर्ल संस्करण का उपयोग कर रहे हैं जिसमें यह बग शामिल है।
सबसे पहले, मैंने वर्तमान प्रॉक्सी सेटिंग को सूचीबद्ध किया
env | sort | less
(कुछ ऐसा होना चाहिए http_proxy=http://wpad.local.machine.location:port number
)
फिर मैंने सेटिंग की कोशिश की
export http_proxy=";"
जिसने यह त्रुटि संदेश दिया:
curl: (5) Couldn't resolve proxy ';'
कोशिश की
export http_proxy="" && curl http://servername:portnumber/destinationpath/ -d 55
और यह काम किया!
पुनश्च! HTTP- प्रॉक्सी को अपनी मूल सेटिंग्स पर वापस सेट करना याद रखें
export http_proxy=http://wpad.local.machine.location:port number
मेरे पास है http_proxy
और https_proxy
परिभाषित है। मैं परेशान नहीं करना चाहता और उन वातावरण को फिर से सेट करना चाहता हूं लेकिन --noproxy '*'
मेरे लिए पूरी तरह से काम करता है।
curl --noproxy '*' -XGET 172.17.0.2:9200
{
"status" : 200,
"name" : "Medusa",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "1.5.0",
"build_hash" : "544816042d40151d3ce4ba4f95399d7860dc2e92",
"build_timestamp" : "2015-03-23T14:30:58Z",
"build_snapshot" : false,
"lucene_version" : "4.10.4"
},
"tagline" : "You Know, for Search"
}
लंगड़ा जवाब लेकिन: यह सुनिश्चित करने के लिए याद रखें कि कोई ~/.curlrc
फ़ाइल (...) में कोई प्रॉक्सी सेट नहीं है ।
मेरे मामले में (मैकोस curl 7.54.0
), मेरे पास प्रॉक्सी सेट नीचे है~/.bash_profile
$ env |grep -i proxy |cut -d = -f1|sort
FTP_PROXY
HTTPS_PROXY
HTTP_PROXY
NO_PROXY
PROXY
ftp_proxy
http_proxy
https_proxy
no_proxy
अज्ञात कारण से, यह संस्करण curl
पर्यावरण चर के साथ NO_PRXY
और no_proxy
ठीक से काम नहीं कर सकता है, फिर मैं प्रॉक्सी वातावरण चर को एक-एक करके, दोनों तक HTTPS_PROXY
और https_proxy
।
unset HTTPS_PROXY
unset https_proxy
यह काम करना शुरू कर देता है और आंतरिक यूआरएल से जुड़ सकता है
इसलिए मैं सभी प्रॉक्सी चर को परेशान करने की सलाह दूंगा यदि आपके पास अस्थायी समाधान के रूप में आपके वातावरण में है।
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY
मेरे कर्ल उबंटू 12.04 पर प्रॉक्सी को नजरअंदाज नहीं कर रहे थे जब तक कि मैंने "no_proxy" (लोअरकेस) पर्यावरण चर सेट नहीं किया। --Noproxy विकल्प उपलब्ध नहीं था।