HttpClient.DefaultProxy.IsBypassed वापरून .NET चे NO_PROXY नियम तपासा
HttpClient ला दोन्हीसाठी प्रॉक्सी टाळायची असल्यास उघडे डोमेन आणि सुरुवातीला बिंदू असलेले स्वरूप दोन्ही यादी करा, नंतर IsBypassed तपासा.
HttpClient च्या दस्तऐवजीकृत पर्यावरण-प्रॉक्सी धोरणानुसार example.internal आणि .example.internal वेगळ्या पद्धतीने जुळतात. उघडे नाव पालक होस्ट निवडते; सुरुवातीला बिंदू असलेले स्वरूप त्याचे उप-डोमेन निवडते.
दोन्ही थेट जायला हवे असल्यास, दोन्ही सुरुवातीच्या पर्यावरणात समाविष्ट करा:
export no_proxy='example.internal,.example.internal'
हे इच्छित विद्यमान बायपास यादीत विलीन करा. ज्या प्रणालींमध्ये चल नावे मोठ्या-लहान अक्षरांत फरक करतात, तिथे .NET प्रथम लहान अक्षरांची प्रॉक्सी पर्यावरण नावे तपासते, नंतर मोठ्या अक्षरांची, त्यामुळे जुने no_proxy हे NO_PROXY वर प्राधान्य मिळवू शकते.
अनुप्रयोगाच्या आत, गंतव्याची HTTP विनंती न पाठवता डीफॉल्ट निवडकर्ता तपासता येतो:
foreach (var host in new[] {
"example.internal", "api.example.internal", "other.internal"
})
{
var uri = new Uri("https://" + host + "/");
Console.WriteLine($"{host}: bypass={HttpClient.DefaultProxy.IsBypassed(uri)}");
}
हा तुकडा System आणि System.Net.Http वापरतो. अनुप्रयोगाने स्पष्टपणे दुसरे IWebProxy दिले असेल, तर त्याऐवजी प्रत्यक्ष हँडलर प्रॉक्सी तपासा. डीफॉल्ट प्रॉक्सी सुरू होण्यापूर्वी इच्छित पर्यावरण सेट करा.
हे .NET चे दस्तऐवजीकृत नियम आहेत. त्याच स्ट्रिंगने मिळालेला curl निकाल दुसऱ्या क्लायंटने तोच मार्ग निवडला हे सिद्ध करत नाही, आणि बायपास निर्णयासाठी अजूनही थेट नेटवर्क पोहोच आवश्यक आहे.