Proxyvariabler i cmd.exe: unngå mellomrom rundt likhetstegnet
Bruk cmd.exe-tildelingssyntaks som ikke setter overflødige mellomrom i navnet eller verdien til proxyvariabelen.
I cmd.exe skriver du tildelingen uten mellomrom rundt likhetstegnet:
set "HTTP_PROXY=http://proxy.example:8080"
Denne tilsynelatende like kommandoen gir et annet resultat:
set HTTP_PROXY = http://proxy.example:8080
Navnet har nå et mellomrom til slutt, og verdien begynner med ett. Et program som slår opp HTTP_PROXY, spør ikke etter HTTP_PROXY . En vist tildeling kan se nesten riktig ut mens oppslaget du er ute etter blir tomt.
Å sette hele tildelingen i anførselstegn hindrer også at avsluttende mellomrom havner i verdien ved et uhell. Å sette bare verdien i anførselstegn er en annen form og kan etterlate anførselstegn i den lagrede verdien.
Erstatt eksempelets lytter med et HTTP-endepunkt fra tjenesten din eller fra HTTP-proxylisten. Kjør den tiltenkte klienten fra det kommandovinduet slik at den arver variabelen. Et program som allerede kjører et annet sted, får ikke det nye miljøet.
Dette er cmd.exe-syntaks. PowerShell bruker en miljøvariabeltildeling som $env:HTTP_PROXY = 'http://proxy.example:8080'; i PowerShell er mellomrommene i det uttrykket ikke den samme feilen. Programmet må likevel støtte variabelen og proxyprotokollen som gis.