Escriba las entradas de omisión de WebProxy como expresiones regulares
Cree una expresión de omisión válida para System.Net.WebProxy con puntos escapados y límites explícitos de nombre de host en lugar de un comodín al estilo del intérprete de comandos.
El argumento BypassList de System.Net.WebProxy contiene expresiones regulares. Un patrón como *.office.example no es válido porque el asterisco inicial no tiene una expresión anterior que repetir.
Para solicitudes HTTP y HTTPS a office.example y sus subdominios, una configuración de PowerShell puede usar:
$bypass = @('^https?://([a-z0-9-]+\.)*office\.example(:[0-9]+)?$')
$proxy = [System.Net.WebProxy]::new(
'http://proxy.example:8080',
$false,
[string[]]$bypass
)
Los puntos escapados coinciden con puntos literales. El grupo repetido de etiqueta de nombre de host admite tanto el dominio base como los nombres por debajo. Los anclajes mantienen un nombre como office.example.other.test fuera de esta regla. Las cadenas de PowerShell entre comillas simples conservan las barras invertidas que usa la expresión.
La implementación actual de .NET compara estas expresiones con el esquema, el nombre de host y el puerto no predeterminado del destino. No incluye la ruta de la solicitud ni la cadena de consulta. Por eso el grupo de puerto opcional también permite puertos no predeterminados; elimínelo o redúzcalo si la política exige un servicio concreto.
BypassProxyOnLocal es false en este ejemplo para que la política de expresión regular pueda inspeccionarse por separado de ese ajuste adicional de omisión. Adjunte el objeto de proxy resultante al cliente HTTP que deba usarlo. Para una prueba de URL pública permitida fuera del dominio de omisión, una entrada HTTP de la HTTP proxy list puede aportar su dirección, sin una cuenta de proxy configurada.
Use IsBypassed con valores Uri representativos para inspeccionar la decisión de enrutamiento: el dominio base, un subdominio, un host externo no relacionado y un sufijo más largo engañoso. Un resultado true significa que se eligió el acceso directo; no demuestra que el destino directo sea alcanzable.