በ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 ውጤት ሌላ ደንበኛ ተመሳሳይ መንገድ መረጠ ማለት አይደለም፣ የማለፍ ውሳኔም አሁንም ቀጥተኛ የኔትወርክ ተደራሽነት ይፈልጋል።