No PAC, shExpMatch usa curingas ao estilo da shell. Para subdomínios de example.com:

if (shExpMatch(host, "*.example.com")) {
    return "PROXY proxy.example:8080";
}

Use nos valores de retorno os endpoints HTTP escolhidos pela política; a lista de proxies HTTP fornece candidatos para rotas públicas permitidas. O asterisco corresponde a uma sequência de caracteres. Não é um operador de repetição de expressão regular, por isso um .*example.com com aparência de regex altera o significado.

Inclua o nome exato do pai explicitamente quando ele fizer parte da política:

if (host === "example.com" || shExpMatch(host, "*.example.com")) {
    return "PROXY proxy.example:8080";
}

Usar *example.com no lugar também aceitaria nomes terminados nessas letras sem um ponto separador. Isso amplia o conjunto além do limite de domínio pretendido.

A base portátil de curingas do PAC inclui * e ?; as classes de caracteres variam conforme a implementação. Uma regex de JavaScript, em vez disso, usa test() e suas próprias regras de ancoragem e escape.

Combine com a entrada pretendida. host é um nome de host, enquanto url inclui um esquema e pode ter sido sanitizado. Uma regra de domínio não deve depender por acidente de um caminho que o navegador nunca fornece.

Artigos relacionados