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 ಫಲಿತಾಂಶವು ಬೇರೆ ಕ್ಲೈಂಟ್ ಅದೇ ಮಾರ್ಗವನ್ನು ಆಯ್ಕೆ ಮಾಡಿದೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುವುದಿಲ್ಲ, ಮತ್ತು ತಪ್ಪಿಸುವ ನಿರ್ಧಾರಕ್ಕೆ ಇನ್ನೂ ನೇರ ನೆಟ್ವರ್ಕ್ ತಲುಪುವಿಕೆ ಬೇಕು.