WebProxy బైపాస్ నమోదులను రెగ్యులర్ ఎక్స్ప్రెషన్లుగా రాయండి
shell శైలి వైల్డ్కార్డ్కు బదులుగా ఎస్కేప్ చేసిన చుక్కలు మరియు స్పష్టమైన హోస్ట్నేమ్ సరిహద్దులతో చెల్లుబాటు అయ్యే System.Net.WebProxy బైపాస్ ఎక్స్ప్రెషన్ను నిర్మించండి.
System.Net.WebProxy యొక్క BypassList ఆర్గ్యుమెంట్ రెగ్యులర్ ఎక్స్ప్రెషన్లను కలిగి ఉంటుంది. *.office.example వంటి నమూనా చెల్లదు, ఎందుకంటే మొదటి నక్షత్రానికి పునరావృతం చేయడానికి మునుపటి ఎక్స్ప్రెషన్ లేదు.
office.example మరియు దాని ఉపడొమైన్లకు HTTP మరియు HTTPS అభ్యర్థనల కోసం, PowerShell కాన్ఫిగరేషన్ దీన్ని ఉపయోగించవచ్చు:
$bypass = @('^https?://([a-z0-9-]+\.)*office\.example(:[0-9]+)?$')
$proxy = [System.Net.WebProxy]::new(
'http://proxy.example:8080',
$false,
[string[]]$bypass
)
ఎస్కేప్ చేసిన చుక్కలు అక్షరార్థ చుక్కలతో సరిపోతాయి. పునరావృతమయ్యే హోస్ట్నేమ్ లేబుల్ సమూహం మూల డొమైన్ మరియు దాని క్రింద ఉన్న పేర్లను రెండింటినీ అనుమతిస్తుంది. యాంకర్లు office.example.other.test వంటి పేరును ఈ నియమం వెలుపల ఉంచుతాయి. ఒకే కోట్ PowerShell స్ట్రింగ్లు ఎక్స్ప్రెషన్ ఉపయోగించే బ్యాక్స్లాష్లను కాపాడతాయి.
ప్రస్తుత .NET అమలు ఈ ఎక్స్ప్రెషన్లను గమ్యస్థానం స్కీమ్, హోస్ట్నేమ్ మరియు డిఫాల్ట్ కాని పోర్ట్తో సరిపోల్చుతుంది. ఇది అభ్యర్థన మార్గం లేదా క్వెరీ స్ట్రింగ్ను కలిగి ఉండదు. అందువల్ల ఐచ్ఛిక పోర్ట్ సమూహం డిఫాల్ట్ కాని పోర్ట్లను కూడా అనుమతిస్తుంది; విధానం నిర్దిష్ట సేవను కోరితే దాన్ని తొలగించండి లేదా సన్నగా చేయండి.
ఈ ఉదాహరణలో BypassProxyOnLocal false, తద్వారా regex విధానాన్ని ఆ అదనపు బైపాస్ సెట్టింగ్ నుండి విడిగా పరిశీలించవచ్చు. ఫలిత ప్రాక్సీ ఆబ్జెక్టును దాన్ని ఉపయోగించాల్సిన HTTP క్లయింట్కు జోడించండి. బైపాస్ డొమైన్ వెలుపల అనుమతించిన పబ్లిక్ URL పరీక్ష కోసం, HTTP proxy list నుండి HTTP నమోదు దాని చిరునామాను అందించగలదు, ప్రాక్సీ ఖాతా కాన్ఫిగర్ చేయకుండా.
రూటింగ్ నిర్ణయాన్ని పరిశీలించడానికి ప్రాతినిధ్య Uri విలువలతో IsBypassed ఉపయోగించండి: మూల డొమైన్, ఒక ఉపడొమైన్, సంబంధం లేని బాహ్య హోస్ట్ మరియు మోసపూరిత పొడవైన ప్రత్యయం. true ఫలితం అంటే నేరుగా యాక్సెస్ ఎంచుకోబడింది; అది నేరుగా గమ్యస్థానాన్ని చేరుకోగలమని నిరూపించదు.