Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
De relance
Objetivo: Configurar o PowerShell para funcionar com o Proxy de Desenvolvimento
Tempo: 5 minutos
Pré-requisitos:Configurar o Proxy de Desenvolvimento
Dev Proxy funciona com PowerShell em todos os sistemas operativos. No macOS e Linux, o PowerShell deteta corretamente alterações ao proxy do sistema e não é necessária qualquer configuração adicional. No Windows, o PowerShell armazena em cache as definições do proxy, o que requer passos extra.
macOS e Linux
No macOS e Linux, o PowerShell deteta automaticamente alterações ao proxy do sistema. Inicia o Dev Proxy e usa o PowerShell como normalmente farias — os pedidos são interceptados sem qualquer configuração adicional.
Windows
Quando usas Dev Proxy com PowerShell no Windows, podes encontrar problemas em que o PowerShell não deteta quando o proxy do sistema começa ou termina. Este problema afeta tanto o Windows PowerShell (5.1) como o PowerShell 7+ (Core).
A questão
No Windows, as sessões PowerShell armazenam em cache as definições do proxy do sistema quando começam. Isto significa que se você:
- Abrir uma sessão do PowerShell
- Iniciar Proxy de Desenvolvimento (que se configura como proxy do sistema)
- Faça pedidos HTTP a partir da sessão original do PowerShell
Os pedidos não são encaminhados através do Dev Proxy porque o PowerShell usa as definições do proxy em cache desde o início da sessão.
De forma semelhante, se você:
- Iniciar Dev Proxy
- Abre uma sessão PowerShell e faz pedidos (são interceptados corretamente)
- Stop Dev Proxy
- Faça pedidos a partir da mesma sessão PowerShell
Os pedidos falham porque o PowerShell continua a tentar usar o proxy que já não existe.
Solução alternativa: Reiniciar a sessão do PowerShell
A solução mais simples é reiniciar a tua sessão PowerShell depois de iniciar ou parar o Dev Proxy. Reiniciar a sessão garante que o PowerShell capta as definições atuais do proxy do sistema.
Alternativa: Definir o proxy manualmente
Em vez de depender da deteção de proxy do sistema, podes configurar o Proxy de Desenvolvimento para não ser registado como proxy do sistema e definir o proxy manualmente no PowerShell.
Passo 1: Iniciar Proxy de Desenvolvimento sem proxy de sistema
Iniciar Dev Proxy com a opção --as-system-proxy false:
devproxy --as-system-proxy false
Passo 2: Definir a variável de ambiente proxy no PowerShell
Na sua sessão PowerShell, defina a HTTPS_PROXY variável de ambiente:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
Se também precisares de intercetar pedidos HTTP:
$env:HTTP_PROXY = "http://127.0.0.1:8000"
Passo 3: Limpar o proxy quando terminar
Quando terminares de usar o Dev Proxy, limpa as variáveis do ambiente:
$env:HTTPS_PROXY = $null
$env:HTTP_PROXY = $null
Usar um perfil PowerShell
Para simplificar a definição do proxy, podes criar funções no teu perfil PowerShell. Adicione o seguinte ao seu $PROFILE ficheiro:
function Set-DevProxy {
$env:HTTP_PROXY = "http://127.0.0.1:8000"
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
Write-Host "Dev Proxy enabled"
}
function Clear-DevProxy {
$env:HTTP_PROXY = $null
$env:HTTPS_PROXY = $null
Write-Host "Dev Proxy disabled"
}
Depois podes usar os comandos Set-DevProxy e Clear-DevProxy para ativar ou desativar rapidamente o proxy na tua sessão PowerShell.