Proxyvariabler i cmd.exe: undgå mellemrum omkring lighedstegnet
Brug cmd.exe-tildelingssyntaks, der ikke sætter overflødige mellemrum i proxyvariablens navn eller værdi.
I cmd.exe skal du skrive tildelingen uden mellemrum omkring lighedstegnet:
set "HTTP_PROXY=http://proxy.example:8080"
Denne tilsyneladende lignende kommando giver et andet resultat:
set HTTP_PROXY = http://proxy.example:8080
Navnet har nu et mellemrum til sidst, og værdien begynder med et. Et program, der slår HTTP_PROXY op, spørger ikke efter HTTP_PROXY . Den viste tildeling kan se næsten rigtig ud, mens det tilsigtede opslag forbliver tomt.
At sætte hele tildelingen i anførselstegn forhindrer også, at der ved et uheld kommer afsluttende mellemrum med i værdien. At sætte kun værdien i anførselstegn er en anden form og kan efterlade anførselstegn i den gemte værdi.
Erstat eksemplets listener med et HTTP-endepunkt fra din tjeneste eller fra HTTP-proxylisten. Kør den tilsigtede klient fra det kommandovindue, så den arver variablen. Et program, der allerede kører et andet sted, får ikke det nye miljø.
Dette er cmd.exe-syntaks. PowerShell bruger en miljøvariabeltildeling som $env:HTTP_PROXY = 'http://proxy.example:8080'; i PowerShell er mellemrummene i det udtryk ikke den samme fejl. Programmet skal stadig understøtte den angivne variabel og proxyprotokol.