Uma página de teste PAC feita em casa tem duas caixas rotuladas Host e URL. O botão passa os seus valores nessa ordem. Infelizmente, a função PAC espera a ordem inversa.

FindProxyForURL(url, host)

Para um destino ilustrativo, a chamada deveria ser assim:

FindProxyForURL("https://status.office.example/", "status.office.example")

O segundo argumento é um nome de host, sem o esquema, caminho ou porta. Uma regra que compara host com um nome conhecido não vai corresponder quando o ambiente de teste fornecer ali um URL completo.

Ambas as entradas são strings, portanto o JavaScript não precisa lançar um erro. O script pode chegar silenciosamente ao seu return final e exibir um proxy de aparência plausível. Por isso é especialmente fácil confundir este bug com uma regra de domínio ruim.

Verifique a chamada antes da regra

Leia a invocação da função no ambiente de teste e inspecione os dois valores nessa fronteira. Depois compare uma exceção conhecida de host exato com um host não relacionado que deveria usar a rota padrão. Não comece a alargar a exceção até ela corresponder à entrada malformada.

Uma chamada corrigida ainda deixa o ambiente auxiliar do avaliador por considerar. Um myIpAddress() fixo ou um auxiliar DNS ausente não é o estado real de rede do navegador. Mantenha isso como perguntas separadas. A reparação imediata é o contrato de parâmetros; a reparação seguinte, se necessário, é fazer o ambiente de teste representar o consumidor pretendido.

Artigos relacionados