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.

Relaterede artikler