Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Överblick
Mål: Konfigurera PowerShell så att det fungerar med Dev Proxy
Tid: 5 minuter
Krav:Konfigurera Dev Proxy
Dev Proxy fungerar med PowerShell på alla operativsystem. På macOS och Linux identifierar PowerShell korrekt ändringar i systemproxyn och ingen extra konfiguration krävs. I Windows cachelagrar PowerShell proxyinställningar, vilket kräver extra steg.
macOS och Linux
I macOS och Linux identifierar PowerShell ändringar av systemproxy automatiskt. Starta Dev Proxy och använd PowerShell som vanligt – begäranden fångas upp utan någon extra konfiguration.
Windows
När du använder Dev Proxy med PowerShell i Windows kan det uppstå problem där PowerShell inte identifierar när systemproxyn startar eller stoppas. Det här problemet påverkar både Windows PowerShell (5.1) och PowerShell 7+ (Core).
Problemet
På Windows sparar PowerShell-sessioner systemets proxyinställningar i cache när de startas. Det innebär att om du:
- Öppna en PowerShell-session
- Starta Dev Proxy (som konfigurerar sig själv som systemproxy)
- Göra HTTP-begäranden från den ursprungliga PowerShell-sessionen
Begäranden dirigeras inte via Dev Proxy eftersom PowerShell använder de cachelagrade proxyinställningarna från när sessionen startade.
På samma sätt, om du:
- Starta Dev Proxy
- Öppna en PowerShell-session och gör begäranden (de fångas upp korrekt)
- Stop Dev Proxy
- Göra begäranden från samma PowerShell-session
Begäranden misslyckas eftersom PowerShell fortfarande försöker använda proxyn som inte längre finns.
Lösning: Starta om PowerShell-sessionen
Den enklaste lösningen är att starta om PowerShell-sessionen när du har startat eller stoppat Dev Proxy. Om du startar om sessionen kan PowerShell hämta de aktuella systemproxyinställningarna.
Alternativ: Ange proxyn manuellt
I stället för att förlita dig på systemproxyidentifiering kan du konfigurera Dev Proxy så att den inte registreras som systemproxy och ange proxyn manuellt i PowerShell.
Steg 1: Starta Dev Proxy utan systemproxy
Starta Dev Proxy med alternativet --as-system-proxy false :
devproxy --as-system-proxy false
Steg 2: Ange proxymiljövariabeln i PowerShell
I PowerShell-sessionen anger du HTTPS_PROXY miljövariabeln:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
Om du också behöver fånga upp HTTP-begäranden:
$env:HTTP_PROXY = "http://127.0.0.1:8000"
Steg 3: Rensa proxyn när du är klar
När du är klar med dev proxy rensar du miljövariablerna:
$env:HTTPS_PROXY = $null
$env:HTTP_PROXY = $null
Använda en PowerShell-profil
För att förenkla inställningen av proxyn kan du skapa funktioner i PowerShell-profilen. Lägg till följande i $PROFILE filen:
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"
}
Sedan kan du använda Set-DevProxy kommandon och Clear-DevProxy för att snabbt aktivera eller inaktivera proxyn i PowerShell-sessionen.